在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_
)。