Aspect | k-means Clustering | Hierarchical Clustering |
---|---|---|
Cluster Shape | Spherical shape clusters based on distance. | No specific shape; can handle various forms of similarity or distance. |
Number of Clusters | Pre-specified number of clusters (K). | Number of clusters can be determined by interpreting the dendrogram. |
Cluster Representation | Mean or median can be used as the cluster center. | Nested clusters arranged as a tree. |
Computation | Less computationally intensive, suitable for large datasets. | Computationally expensive due to the need for computing and storing a distance matrix. |
Initialization | Random choice of clusters, results may differ in multiple runs. | Results are reproducible. |
Algorithm Type | Non-hierarchical, partitioning method. | Can be either divisive (top-down) or agglomerative (bottom-up). |
Cluster Overlap | Non-overlapping subsets (clusters). | Set of nested clusters that are arranged as a tree. |
Suitability for Cluster Shape | Works well with hyper-spherical clusters. | Applicable to any attribute types and can handle any forms of similarity or distance. |
Advantages | - Convergence is guaranteed. - Specialized to clusters of different sizes and shapes. |
- Ease of handling of any forms of similarity or distance. - Applicability to any attribute types. |
Disadvantages | - K-Value is difficult to predict. - Doesn't work well with global clusters. |
- Requires the computation and storage of an n×n distance matrix, which can be slow for large datasets. |
import pandas as pd
import scipy.cluster.hierarchy as shc
import numpy as np
import sklearn
import statsmodels.formula.api as smf
# plot data
plt.figure(figsize=(12,8))
plt.scatter(home_data['longitude'], home_data['latitude'])
plt.show()
# Linkage and plot
home_data = pd.read_csv('housing.csv')
Z = shc.linkage(home_data[['longitude' , 'latitude']],
method='complete', # 'ward', 'complete', 'average', 'single'
metric='euclidean'
)
labels = shc.fcluster(
Z,3,
criterion='maxclust'
)
plt.scatter(home_data['longitude'], home_data['latitude'],c=labels)
# dendrogram
# rc = shc.linkage(home_data[['latitude','longitude']], 'ward','euclidean')
# fig = plt.figure(figsize=(25, 10))
dn = shc.dendrogram(Z)
plt.show()
# or
fig = plt.figure(figsize=(25, 10))
dn = shc.dendrogram(Z,color_threshold=1.5)
plt.show()
kmeans = KMeans(n_clusters=20).fit_predict(home_data[['latitude','longitude']])
# kmeans.labels_
plt.scatter(home_data['longitude'], home_data['latitude'],c=kmeans)
# print(kmeans)
#gerando o dataframe X
X = home_data[['longitude','latitude']]`
#criando modelo kmenas para 9 clusters
#k=9
#kmeans tem como restricao indicar a quantidade de cluster logo na criação do modelo
kmeans = KMeans(n_clusters=9)
#inserir nova coluna no dataframe X com os labels gerados pelo Kmeans
X["Cluster"] = kmeans.fit_predict(X)
#criar scatterplot sobre o modelo Kmeans
sns.color_palette("tab10")
g = sns.scatterplot(data=X, x="longitude", y="latitude", hue="Cluster",palette = sns.color_palette("tab10"))
Key Concepts:
- Hierarchical clustering is an alternative to K-means that doesn't require pre-specifying the number of clusters.
- It creates a dendrogram, a tree-like diagram that records the sequences of merges or splits.
Interpreting a Dendrogram:
- Each leaf represents an observation.
- Fusions of leaves into branches represent similar observations.
- The height of fusion indicates the level of dissimilarity.
- Observations that fuse at the bottom are similar; those near the top are quite different.
- Proximity on the horizontal axis does not imply similarity.
- Similarity is determined by the height at which the last common ancestor in the dendrogram is found.
Creating Clusters from a Dendrogram:
- Make a horizontal cut across the dendrogram.
- The number of distinct sets of observations below the cut represents the number of clusters.
- The height of the cut controls the number of clusters, similar to K in K-means.
- Clusters obtained by cutting at a given height are nested within clusters from a higher cut.
Algorithm for Hierarchical Clustering:
- Start with each observation as its own cluster.
- Find the pair of clusters that are least dissimilar and merge them.
- Repeat step 2 until all observations are in a single cluster.
Linkage Criteria (Defining Cluster Dissimilarity):
- Complete Linkage: Maximal intercluster dissimilarity.
- Single Linkage: Minimal intercluster dissimilarity.
- Average Linkage: Mean intercluster dissimilarity.
- Centroid Linkage: Dissimilarity between the centroids of clusters.
Choice of Dissimilarity Measure:
- Often Euclidean distance is used, but other measures can be more appropriate depending on the context.
- Correlation-based distance measures similarity in terms of profile shapes, not magnitudes.
Considerations for Practical Application:
- The choice of linkage and dissimilarity measure can greatly affect the resulting dendrogram.
- Scaling variables to have standard deviation one before computing dissimilarities can give each variable equal importance.
- The decision to scale variables depends on the context and the nature of the data.
When to Use Hierarchical Clustering:
- When the number of clusters is not known a priori.
- When a nested set of clusters is meaningful for the analysis.
- When a visual representation of cluster formation is helpful.
Limitations:
- May yield less accurate results than K-means for a given number of clusters if the true clusters are not nested.
- The assumption of hierarchical structure might not always be realistic for the data.
Practical Tips:
- Examine the dendrogram to choose a sensible number of clusters.
- Be aware of the potential for different reorderings of the dendrogram; focus on vertical distances for similarity.
- Consider the nature of the data and the research question when choosing a dissimilarity measure and linkage method.
Um modelo de regressão da-nos uma função que descreve a relação entre 1 ou mais variáveis independentes e uma resposta ou variável dependente (target value).
- Não podemos obter
$E(Y |X = x)!$ exatamente pois o modelo não vai traduzir exatamente o mesmo resultado.- Podemos "relaxar" a definição anterior para:
$f^ (x) = Ave(Y |X ∈ N (x))$ onde$N(x)$ é uma vizinhança de x. - Aproximação por Nearest Neighbour Averaging pode ser boa para pequenas p dimensões
- i.e. p ≤ 4 and large-ish N.
- Podemos "relaxar" a definição anterior para:
Valor que quantifica o quão dispersos estão os data points da linha de regressão. (Esta relacionado com o conceito estatístico de variância) Somatório do numero de pontos de (x - x^)^2. e = x - x^ -> Residual
Refere-se à expectativa de quão distante os resultados das previsões podem estar do alvo real.
Este coeficiente varia entre 0 e 1, onde 0 indica um modelo ineficaz e 1 um modelo perfeito. Valores entre 0.8 e 0.95 são considerados indicativos de bons modelos.
Método para estimativa dos coeficiente da equação da regressão linear, que procura minimizar a sum of squared differences entre os dados observados e os valores estimados para a variavél dependente.
- Modelo:
$f(x)$ - Residual:
$r_{i} = y_{i} - f(x)_{i}$ - Soma dos quadrados residuais: S =
$\sum_{i=1}^{n} r^2_i$ -> (RSS)
Termo usado em estatística para descrever a proporção esperada de erros do Tipo I (falsos positivos) entre todas as hipóteses que foram identificadas como significativas num conjunto de múltiplos testes estatísticos. Noutras palavras, o FDR é uma forma de controlar a taxa de erros cometidos quando se declara que um efeito ou associação é estatisticamente significativa, quando na verdade não é.
O método FDR envolve os seguintes passos:
- Ordenar os valores p em ordem crescente.
- Atribuir um rank a cada valor p, começando em 1 até m (o número total de testes).
- Calcular um valor crítico (crit) para cada rank usando a fórmula
$(i/m)*Q$ , onde Q é a taxa de falsas descobertas que estamos dispostos a aceitar (geralmente 10%). - Identificar o maior valor p que é menor ou igual ao seu valor crit correspondente. Todos os valores p abaixo desse são considerados significativos, rejeitando a hipótese nula.
- Ao obter os dados, dividimos em conjuntos de treino e teste (geralmente 70:30).
- Minimizamos a média da soma dos quadrados dos resíduos (SSR - Sum Square Residual) para ajustar o modelo (treino).
- Calculamos a soma média dos quadrados dos resíduos (MSS) nos dados de teste:
- Por quê?
- Para observar como o modelo se comporta em dados não vistos anteriormente.
- Por quê?
- Se treinarmos e testarmos com os mesmos dados, o modelo pode ficar muito ajustado aos dados de treino e ter um mau desempenho nos dados de teste, isso é chamado de overfitting.
- Erro redutível: parte do erro que pode ser reduzida, melhorando o modelo. Existe devido a discrepância entre o modelo real e o modelo estimado via função de regressão. Pode ser resolvido portanto com melhores modelos para determinada solução, com mais variareis de previsão ou usando melhores técnicas de estimativas.
- Erro irredutível: parte do erro que não pode ser reduzida melhorando a eficiência do modelo. É causada pela variância inerente aos dados e/ou a ruídos introduzidos no processo de medição.
Refere-se ao fenómeno onde a performance de alguns algoritmos, como o k-nearest neighbours se deteriora a medida que aumentamos o numero de variáveis de input. Isto acontece pois a medida que o numero de dimensões aumenta, o volume do espaço aumenta exponencialmente e os dados disponíveis ficam demasiado espalhados no espaço, e assim tornando mais difícil para encontrar padrões e relações nos dados e a precisão da estimativa diminui.
-
Auto-avaliação e Midterm: Foi mencionado que há uma auto-avaliação pendente até sexta-feira e que o exame intercalar (midterm) ocorrerá em duas semanas.
-
Modelos em Produção e Teste T: Discutiu-se a colocação de um modelo em produção e a utilização do teste T para obter o valor-p (p-value), que ajuda a determinar se existe uma relação estatisticamente significativa entre a variável preditora e a variável independente. A hipótese nula assume que não há relação.
-
Nível de Confiança e Valor-p: Foi estabelecido um grau de confiança de 95%, o que implica um ponto de corte de 5% (alpha crítico = 0.05). Se o valor-p for menor que 0.05, rejeita-se a hipótese nula. Por exemplo, um valor-p de 0.24 significa que devemos aceitar a hipótese nula, enquanto um valor-p de 0.0002 indica que devemos rejeitá-la, sugerindo uma relação de previsão no modelo.
-
R² (Coeficiente de Determinação): Este coeficiente varia entre 0 e 1, onde 0 indica um modelo ineficaz e 1 um modelo perfeito. Valores entre 0.8 e 0.95 são considerados indicativos de bons modelos.
-
Erro Padrão Residual (RSE): Refere-se à expectativa de quão distante os resultados das previsões podem estar do alvo real.
-
Problemas de Classificação: Foi discutido um exemplo de classificação de vinhos, onde a idade (jovem ou velho) e o sabor (madeira ou frutado) foram usados como variáveis. Utilizou-se um classificador binário (1,0) para categorizar os resultados como "happy" ou "sad". A regressão linear foi aplicada para traçar uma linha divisória, e os resultados foram analisados em termos de verdadeiros negativos (TN) e falsos negativos (FN), com o objetivo de aproximar a linha para minimizar esses valores.
-
Matriz de Confusão: Foi mencionado que essa matriz é populada com verdadeiros negativos e verdadeiros positivos, permitindo análises adicionais.
-
Regressão Logística: No contexto de um exemplo em que uma célula de gordura se transforma em neurônio, a regressão logística foi apresentada como um método de classificação. Foi explicado que, embora a regressão linear possa parecer adequada para a zona de conversão, é necessário calcular o sigmoid usando a regressão linear que entra na variável z do sigmoid. A função sigmoid é dada por
$1/(1 + e^(-z))$ e é preferível à regressão linear para este tipo de problema de classificação.
Em resumo, a aula focou-se em conceitos estatísticos aplicados à construção e avaliação de modelos preditivos, com ênfase em testes de hipóteses, medidas de ajuste de modelo e métodos de classificação, como a regressão logística.
-
Etapas do Modelo de Regressão: O processo para criar um modelo de regressão linear inclui treinar o modelo, calcular os coeficientes, determinar os erros padrão para cada coeficiente, testar a hipótese nula e traçar os resultados.
-
B^ vs. B: A diferença entre B^ (coeficiente estimado) e B (coeficiente verdadeiro) é discutida, destacando a distinção entre valores estimados pelo modelo e valores reais.
-
Erro Padrão Residual (RSE): RSE é uma estimativa do desvio padrão dos resíduos, indicando o quão longe os pontos de dados desviam da linha de regressão. Um RSE mais baixo sugere melhores previsões do modelo.
-
R-quadrado (R²): R² é uma medida que explica a proporção da variância na variável dependente que pode ser prevista pelas variáveis independentes. Varia de 0 a 1, com 1 indicando um ajuste perfeito.
-
Regressão Linear Múltipla: A importância de validar o modelo e testar estatisticamente cada variável preditora contra a variável de resposta é enfatizada. A hipótese nula (de que o coeficiente é zero) e os valores-p são usados para determinar a significância dos preditores.
-
Dados Retangulares: O conceito de dados retangulares é mencionado, mas não explicado nas notas.
-
Dados de Treino vs. Teste: A abordagem típica de divisão 70/30 para dados de treino e teste é explicada, com 70% usados para treinar o modelo e 30% para testar seu desempenho.
-
Interpretação do valor-p: Um cenário é apresentado onde um valor-p de 0,2 é comparado com um nível alfa de 5% para decidir se aceita ou rejeita a hipótese nula para um preditor em uma regressão linear.
-
Modelos de Classificação vs. Regressão: A diferença entre esses dois tipos de modelos é discutida, com modelos de classificação lidando com variáveis de resposta qualitativas e modelos de regressão com quantitativas.
Tópicos adicionais abordados incluem:
- Regressão linear simples e múltipla.
- Os conceitos de intercepto (B0) e inclinação (B1).
- O uso de testes estatísticos para validar se as variáveis são bons preditores.
- O conceito de taxa de descoberta falsa (FDR) para lidar com múltiplos testes de hipóteses.
- Regressão logística, que lida com variáveis de resposta qualitativas e pode produzir probabilidades para modelos de classificação.
As notas também tocam na relevância do RSE e R² na avaliação do modelo, com o RSE sendo dependente do domínio e o R² independente do domínio. Um bom valor de R² é tipicamente entre 0,8 e 0,9. Para testes múltiplos, o método FDR é sugerido para ajustar o intervalo de confiança, e um procedimento para aplicar o FDR é delineado.
Por fim, a regressão logística é formalizada como um modelo onde a variável de resposta é qualitativa, e o conceito de máxima verossimilhança é usado para encontrar o ponto de corte que melhor separa as classes nos dados.
-
Testes Múltiplos: Realização de vários testes estatísticos simultaneamente no mesmo conjunto de dados.
-
Erro Tipo I: Erro estatístico que ocorre quando a hipótese nula é incorretamente rejeitada (falso positivo).
-
Regressão Linear: Modelo estatístico usado para prever o valor de uma variável dependente com base em uma ou mais variáveis independentes.
-
False Discovery Rate (FDR): Proporção esperada de erros Tipo I entre as hipóteses rejeitadas em múltiplos testes estatísticos.
-
Valores p: Probabilidade de obter um resultado estatístico tão extremo quanto o observado, assumindo que a hipótese nula é verdadeira.
-
Ajuste de Valores p: Processo de modificação dos valores p em testes múltiplos para controlar o FDR e reduzir a probabilidade de erros Tipo I.
-
Método FDR: Técnica estatística para ajustar valores p em múltiplos testes, controlando a taxa de falsas descobertas.
-
Procedimento de Benjamini-Hochberg: Método comum de ajuste de valores p que controla o FDR em múltiplos testes estatísticos.
-
Biblioteca Pandas: Ferramenta de software em Python para manipulação e análise de dados, com estruturas de dados para manipular tabelas numéricas e séries temporais.
-
fdrcorrection
: Função da bibliotecastatsmodels.stats.multitest
em Python que implementa o ajuste de valores p para controlar o FDR. -
Taxa de Falsas Descobertas (Q): Limite pré-definido para a proporção de falsas descobertas que um pesquisador está disposto a aceitar ao usar o método FDR.
-
Valor Crítico (crit): Limiar calculado no método FDR que determina se um valor p é considerado estatisticamente significativo após o ajuste.
The task of predicting a qualitative response variable based on a feature vector.
Variables that take values in an unordered set, such as eye color or email type.
A vector of measurements or features used to represent an object or phenomenon.
The variable being predicted or classified.
The task of estimating the probability that a feature vector belongs to each category in the response variable set.
A statistical method for modeling the relationship between a quantitative response variable and one or more predictor variables.
A statistical method for modeling the relationship between a binary response variable and one or more predictor variables.
A non-parametric method for classification and regression that uses a tree-like model of decisions and their possible consequences.
An ensemble learning method that constructs a multitude of decision trees and outputs the class that is the mode of the classes (classification) or mean prediction (regression) of the individual trees.
A supervised learning model that analyzes data for classification and regression analysis. SVMs are used for classification, regression, and outlier detection.