Scikit learn scikit学习';sk-means:预测方法真正的作用是什么?

Scikit learn scikit学习';sk-means:预测方法真正的作用是什么?,scikit-learn,k-means,Scikit Learn,K Means,当我使用scikit learn的k-means实现时,我通常只调用fit()方法,这就足以获得集群中心和标签。predict()方法用于计算标签,为了方便起见,甚至可以使用fit\u predict()方法,但是如果我只能使用fit()获得标签,那么predict()方法的目的是什么?predict,正如@EdChum所建议的,可以用于看不见的数据。当k-means用于半监督学习中的特征提取时,这种方法(更重要的是,transform方法)非常有用:对大量样本进行聚类,然后使用最近的质心/到质

当我使用scikit learn的k-means实现时,我通常只调用
fit()
方法,这就足以获得集群中心和标签。
predict()
方法用于计算标签,为了方便起见,甚至可以使用
fit\u predict()
方法,但是如果我只能使用
fit()
获得标签,那么
predict()
方法的目的是什么?

predict
,正如@EdChum所建议的,可以用于看不见的数据。当k-means用于半监督学习中的特征提取时,这种方法(更重要的是,
transform
方法)非常有用:对大量样本进行聚类,然后使用最近的质心/到质心的距离作为后续监督学习问题的特征。当使用结果进行预测时,您会得到k-means未看到的样本。

对未看到的数据使用
predict
方法是否有意义。因为它是k-means,所以我不是真的这么想。我不确定我是否仍然理解。我有n个观察值,并使用kmeans对它们进行拟合。我有n+1个观察值,因此我可以简单地将其添加到我的数据集中,并使用fit()拟合所有n+1。或者,我们可以使用fit()和predict()来处理n+1次观测。那么,我是否正确理解在predict()中,我们不会重新计算簇的质心?您能告诉我,在应用k-means之后,最推荐的创建训练集的方法是什么吗?我使用dictVectorizer+TfidTransformer获得X,然后执行km.fit(X),我想对新文档使用predict,但我需要为它创建一个稀疏矩阵,实现这一点的最有效方法是什么?