我在目标变量中有一个带有7个标签的数据集。
X = data.drop('target', axis=1)
Y = data['target']
Y.unique()数组(“_体重,超重_级别_我,超重_级别_二,肥胖_类型_我”,“不够_体重,肥胖_类型_二,肥胖_类型_三”,dtype=object)
km = KMeans(n_clusters=7, init="k-means++", random_state=300)
km.fit_predict(X)
np.unique(km.labels_)阵列(0,1,2,3,4,5,6)
在对多个聚类为7的聚类算法进行KMean聚类后,得到的聚类被标记为0,1,2,3,4,5,5,6。但是如何知道哪一个真正的标记与预测的标签匹配。
换句话说,我想知道如何给新的预测标签赋予原始标签名称,这样就可以像正确地聚类多少个值一样来比较它们(准确性)。
发布于 2022-04-27 06:51:21
如果你有目标变量,你为什么要像K那样使用无监督学习,我相信有监督的多类分类会是一种更好的方法。尽管如此,你的问题仍然有效,所以让我试着回答这个问题。
在K表示聚类中,集群数没有任何序列,这意味着不能直接将0、1、2集群映射到类别。要知道哪个集群属于哪个类别,您必须进行更深入的聚类分析。您必须查看每个集群的平均特征,并相应地分配它们的类别。这可以通过在集群级别聚合数据和计算各种变量的平均值来实现。
https://datascience.stackexchange.com/questions/110399
复制相似问题