Conceptos básicos de los algoritmos de aprendizaje automático: método de agrupación jerárquica

1. Introducción al principio del método de agrupamiento jerárquico.

#聚合聚类(层次聚类方法)
"""
1.层次聚类顾名思义就是按照某个层次对样本集进行聚类操作,这里层次并非是真实的层次,实际上指的就是某种距离定义,(我们其实已经学过了很多的距离定义了)
2.层次聚类方法的目标就是采用自下而上的方法去去消除类别的数量,类似与树状图的由叶子结点向根结点靠拢的过程。
3.更简单的说,层次聚类是将初始化的多个类簇看做树节点,每一次迭代都会两两距离相近的类簇进行合并,如此反复,直至最终只剩一个类簇(也就是根结点)。
"""

2. Demostración del algoritmo básico del método de agrupamiento jerárquico.

Tres métodos diferentes de agrupamiento jerárquico:
basados ​​en diferentes definiciones de similitud (distancia), los métodos de agrupamiento de agrupamiento jerárquico se dividen en tres tipos:
1. Enlace único: la distancia a comparar es entre pares de elementos, la distancia mínima.
2.Vínculo completo: La distancia a comparar es la distancia máxima entre pares de elementos.
3.Promedio del grupo: La distancia a comparar es la distancia promedio entre clases.
Primero sacamos algunos datos para calcular y demostrar este algoritmo más básico. Como se muestra en la figura, esta es la distancia entre los cinco puntos de ABCDE:
Insertar descripción de la imagen aquí

2.1 Demostración del método de cálculo de enlace único

Enlace simple: La distancia a comparar es la distancia mínima entre pares de elementos. Entonces necesitamos encontrar la distancia mínima correspondiente a cada punto.
El primer paso: la distancia mínima de A es B, por lo que AB se fusiona primero y se registra como {AB}.
Insertar descripción de la imagen aquí
Paso 2: Realizar una investigación sobre la fusión de C con AB en su conjunto. Insertar descripción de la imagen aquí
Finalmente, se descubre que CD es el más corto y la combinación se registra como {CD}.
Paso 3: Estudie la fusión de E basándose en {AB}/{CD} en su conjunto.
Insertar descripción de la imagen aquí
Finalmente, se encontró que CD->E era el más corto y la combinación se registró como {CDE}.
Paso 4: simplemente fusione los dos últimos grupos, es decir, fusione {AB}{CDE}.

2.2.Demostración del método de cálculo de vinculación completa

2.Vínculo completo: La distancia a comparar es la distancia máxima entre pares de elementos. Entonces necesitamos encontrar la distancia máxima correspondiente a cada punto.
El primer paso: la distancia máxima y la distancia mínima entre A y cada elemento es B, por lo que AB se fusiona primero y se registra como {AB}.
aad5384fbf5f056a6.png)
Paso 2:
El valor mínimo de la distancia máxima entre C y cada elemento es el siguiente:
Insertar descripción de la imagen aquí
Por lo tanto, el valor mínimo de la distancia máxima entre cada elemento de C es D. Combine CD y regístrelo como {CD}.
Paso 3: Estudie la fusión de E basándose en {AB}/{CD} en su conjunto.
Insertar descripción de la imagen aquí
Finalmente, se encontró que CD->E era el más corto y la combinación se registró como {CDE}.
Paso 4: simplemente fusione los dos últimos grupos, es decir, fusione {AB}{CDE}.

2.3 Demostración del método de cálculo del promedio grupal

La distancia a comparar por promedio de grupo es la distancia promedio entre pares de elementos. Entonces necesitamos encontrar la distancia más promedio correspondiente a cada punto.
El primer paso: la distancia máxima y la distancia mínima entre A y cada elemento es B, por lo que AB se fusiona primero y se registra como {AB}.
aad5384fbf5f056a6.png)
Paso 2:
El valor mínimo de la distancia promedio entre C y cada elemento es el siguiente:
Insertar descripción de la imagen aquí
Por lo tanto, el valor mínimo de la distancia promedio entre cada elemento de C es D. Combine CD y regístrelo como {CD}.
Paso 3: Estudie la fusión de E basándose en {AB}/{CD} en su conjunto.
Insertar descripción de la imagen aquí
Finalmente, se encuentra que la distancia promedio de CD->E es la más corta y la combinación se registra como {CDE}.
Paso 4: simplemente fusione los dos últimos grupos, es decir, fusione {AB}{CDE}.

3. Introducción al algoritmo de expansión de agrupamiento jerárquico

Fuente: https://blog.csdn.net/huangguohui_123/article/details/106995538

3.1 Introducción al principio del método del centroide

Insertar descripción de la imagen aquí
Si después de que dos grupos se fusionan, la distancia mínima en la siguiente fusión disminuye (el centro de masa cambia constantemente), llamamos a esta situación inversión/inversión, que se manifiesta como un fenómeno de cruce en el dendrograma.

En algunos métodos de agrupamiento jerárquico, como el vínculo simple, el vínculo completo y el vínculo promedio, la inversión no puede ocurrir y estas medidas de distancia son monótonas. Es evidente que el método del centroide no es monótono.

3.2 Método del centroide basado en el punto medio

Insertar descripción de la imagen aquí

3.3.Método de sala

Insertar descripción de la imagen aquí

4. Aplicación práctica del método de agrupamiento jerárquico.

4.1 Aplicación de agrupamiento del método de agrupamiento jerárquico

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import AgglomerativeClustering
from scipy.cluster.hierarchy import dendrogram, linkage
#%%
# 读取数据
data = pd.read_excel('Clustering_5.xlsx')
# 提取特征和标签
X = data.iloc[:, :2].values
y = data['y'].values
# 创建凝聚聚类模型
n_clusters = 5
agg_clustering = AgglomerativeClustering(n_clusters=n_clusters)
# 进行聚类
labels = agg_clustering.fit_predict(X)
#%%
# 绘制聚类结果
plt.figure(figsize=(10, 6))
for i in range(n_clusters):
    cluster_points = X[labels == i]
    plt.scatter(cluster_points[:, 0], 
                cluster_points[:, 1], label=f'Cluster {
      
      i + 1}',s=16)

plt.title('Agglomerative clustering')
plt.legend()
plt.show()

El efecto de agrupación es relativamente bueno.
Insertar descripción de la imagen aquí

4.2 Dibujo del árbol de agrupación del método de agrupamiento jerárquico

4.2.1.Método de conexión de enlace único
#%%
linked = linkage(X, 'single')  # 使用ward方法计算链接
dendrogram(linked, orientation='top', 
           distance_sort='descending', show_leaf_counts=True)
plt.title('Single-linkage连接方法')
plt.show()

Insertar descripción de la imagen aquí

4.2.2.Método de conexión de enlace completo
#%%
linked = linkage(X, 'complete')  # 使用ward方法计算链接
dendrogram(linked, orientation='top', 
           distance_sort='descending', show_leaf_counts=True)
plt.title('Complete-linkage连接方法')
plt.show()

Insertar descripción de la imagen aquí

4.2.3.Método de conexión promedio de grupo
#%%
linked = linkage(X, 'average')  # 使用ward方法计算链接
dendrogram(linked, orientation='top', 
           distance_sort='descending', show_leaf_counts=True)
plt.title('Group-average连接方法')
plt.show()

Insertar descripción de la imagen aquí

4.2.4.Método de conexión centroide
#%%
linked = linkage(X, 'centroid')  # 使用ward方法计算链接
dendrogram(linked, orientation='top', 
           distance_sort='descending', show_leaf_counts=True)
plt.title('Centroid连接方法')
plt.show()

Insertar descripción de la imagen aquí

4.2.5.Método de conexión de sala
# 绘制树状图(聚类树)
linked = linkage(X, 'ward')  # 使用ward方法计算链接
dendrogram(linked, orientation='top', 
           distance_sort='descending', show_leaf_counts=True)
plt.title('Ward连接方法')
plt.show()

Insertar descripción de la imagen aquí

5. Agradecimientos

本章内容的完成离不开以下大佬文章的启发和帮助,在这里列出名单,如果对于内容还有不懂的,可以移步对应的文章进行进一步的理解分析。
1.层次聚类法的基础算法演示https://blog.csdn.net/qq_40206371/article/details/123057888
2.层次聚类法的进阶算法演示https://blog.csdn.net/huangguohui_123/article/details/106995538
在文章的最后再次表达由衷的感谢!!

Supongo que te gusta

Origin blog.csdn.net/m0_71819746/article/details/133433905
Recomendado
Clasificación