在sklearn中使用K-means聚类方法时,我将这些点分为两组。如何使用更大的点号设置组的k_means.labels_
为“ 0”(而不是1)?

谢谢!

最佳答案

通常,如果您具有完全标记的数据,则应使用分类器(请参见this excellent graphic)。 K均值是一个部分随机的过程,因此无法保证将哪个聚类分配给哪个标签。

获得预测后,如果要反转类标签,则可以执行以下操作:

predictions = k_means.fit_predict( my_data )
if sum( predicitons==1 ) > sum( predictions==0 ):
    corrected_predictions = predictions.copy()
    corrected_predictions[ predictions==1 ] = 0
    corrected_predictions[ predictions==0 ] = 1


不建议使用自动计算的类成员(如k_means.labels_)。

10-08 19:57