所以我有大约一百万行,我需要对它们进行聚类。我开始绘制随机样本并计算层次聚类以获得树形图。有了这个,我知道有多少个集群。
现在我想在整个样本上使用K-Means聚类,使用上一步的初始种子 - 层次聚类。但我不知道如何获得那些初始种子。
下面是层次聚类的代码:
from scipy.cluster.hierarchy import linkage
from sklearn import preprocessing as prep
seed = 85
df_s = df.sample(frac=0.01, replace=False)
df_s = df_s.reset_index(drop=True)
scaler = prep.MinMaxScaler()
df_std = scaler.fit_transform(df_s[clmns])
Z = linkage(df_std, 'ward')
然后对于K-Means,我知道我可以这样称呼它:
from scipy.cluster.vq import kmeans2
centroid, label = kmeans2(df[clmns], 3)
我知道论证minit
是用种子插入n x p矩阵,但我不清楚如何获得它们。
此问题最初发布在交叉验证中。但由于它更多是关于编程,因此建议我在此处发布。
答案 0 :(得分:1)
由于层次聚类不是基于质心的,