我已经使用分层聚类形成了聚类,并希望将这些单独的聚类单独存储在数据集中以供进一步处理,但我不知道该怎么做。
Z = linkage(df, 'ward', metric='euclidean')
创建树状图
plt.figure(figsize=(50, 10))
plt.title('Hierarchical Clustering Dendrogram')
plt.xlabel('sample index')
plt.ylabel('distance')
dendrogram(Z, leaf_rotation=90., leaf_font_size=8.,)
plt.show()
树状图
截断集群
plt.title('Hierarchical Clustering Dendrogram (truncated)')
plt.xlabel('sample index or (cluster size)')
plt.ylabel('distance')
dendrogram(Z, truncate_mode='lastp', p=12, leaf_rotation=90., leaf_font_size=12.,)
plt.axhline(y=5000, color='r', linestyle='--')
plt.show()
截断的树状图
现在我想知道如何分别保存四个集群或如何分离它们?
使用任何聚类方法进一步创建聚类
from sklearn.cluster import AgglomerativeClustering
cluster = AgglomerativeClustering(n_clusters=4, affinity='euclidean', linkage='ward')
cl = cluster.fit_predict(df)
然后将这些聚类保存在原始数据框中
df['Cluster'] = cl