我有一个维度矩阵(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 =簇标签)我可以看到Kmeans生成的5种不同的平均光谱轮廓。 现在我的问题如下:我想在相同维度(nw,ny,nx)的不同数据集中使用这5个cluster_centers来检索我称之为mm的标签。我该怎么办?
提前感谢您的时间。
答案 0 :(得分:1)
正如@sascha指出的那样,你需要保持KMeans对象来预测未来的数据
dat = dat1.reshape(nw,nx*ny)
clusterer = KMeans(n_clusters=ncl).fit(np.transpose(dat)
dat2 = dat2.reshape(nw,nx*ny)
dat2_labels = clusterer.predict(np.transpose(dat2))