在SciPy中创建树形图并获得与颜色簇相对应的平面聚类,可以通过以下步骤实现:
- 导入所需库:import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
from sklearn.cluster import AgglomerativeClustering
- 生成模拟数据:data = np.random.rand(10, 2)
- 使用SciPy的linkage函数计算树形图:Z = linkage(data, method='ward')
- 使用SciPy的dendrogram函数绘制树形图:plt.figure(figsize=(10, 7))
plt.title('Hierarchical Clustering Dendrogram')
plt.xlabel('Sample')
plt.ylabel('Distance')
dendrogram(Z)
plt.show()
- 使用sklearn的AgglomerativeClustering函数进行平面聚类:n_clusters = 3
clustering = AgglomerativeClustering(n_clusters=n_clusters, affinity='euclidean', linkage='ward').fit(data)
- 将聚类结果应用到数据点上:colors = ['red', 'blue', 'green']
for i, point in enumerate(data):
plt.scatter(point[0], point[1], c=colors[clustering.labels_[i]], marker='o')
- 绘制聚类结果:plt.figure(figsize=(10, 7))
plt.title('Agglomerative Clustering')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()
通过以上步骤,您可以在SciPy中创建树形图并获得与颜色簇相对应的平面聚类。