【发布时间】:2018-06-24 12:03:00
【问题描述】:
我有一个维度矩阵 (nw,ny,nx),其中 nx 和 ny 是图像的维度(光子计数),对于每个像素,我有一个 nw 个波长点的光谱分布。
我已经从 scikit-learn python 包中应用了 K-mean 聚类,聚类数等于 ncl=5。
dat =dat1.reshape(nw,nx*ny)
mm[:]=KMeans(n_clusters=ncl).fit(np.transpose(dat)).labels_
x=KMeans(n_clusters=ncl).fit(np.transpose(dat)).cluster_centers_
然后绘制 x[i,:] (i= cluster label) 我可以看到由 Kmeans 生成的 5 个不同的平均光谱剖面。 现在我的问题如下:我想在相同维度(nw、ny、nx)的不同数据集中使用这 5 个 cluster_centers 来检索我在这里称为 mm 的标签。我该怎么做?
提前感谢您的宝贵时间。
【问题讨论】:
-
你能更精确一点吗?您只是要求对新数据调用 predict 吗?在这种情况下,扔掉集群对象并没有帮助!您在上面多次计算这些集群!确保您了解自己在做什么(并了解 sklearn 的面向对象方法)。
-
除了@sascha 注释之外,由于您要多次计算集群,可能会发生(通常在未设置 random_state 时发生)您存储在
mm[:]中的标签与集群不匹配你第二次进去了。
标签: python scikit-learn k-means