R语言中k-means与层次聚类的混淆矩阵table计算方法咨询
操作步骤
步骤1:构造真实类别标签
你生成的3组模拟数据各100条,对应3个已知真实类别,先构造全量样本的真实标签向量:
# 前100条为类别1、中间100条为类别2、最后100条为类别3 true_label <- factor(c(rep(1, 100), rep(2, 100), rep(3, 100)))
步骤2:计算k-means聚类的混淆矩阵
k-means的聚类簇标签存储在B$cluster中,直接将真实标签和聚类标签传入table函数即可生成混淆矩阵:
kmeans_confusion <- table(true_label, B$cluster) # 打印混淆矩阵 print(kmeans_confusion)
步骤3:计算层次聚类的混淆矩阵
层次聚类的簇标签存储在clusters2中,同理传入table函数即可:
hclust_confusion <- table(true_label, clusters2) # 打印混淆矩阵 print(hclust_confusion)
注意:无监督聚类输出的簇编号和预设的真实类别编号没有绑定对应关系,混淆矩阵的列顺序不代表和真实类别一一对应,若需要计算聚类准确率等指标,可先对聚类标签做重映射,对齐真实类别编号后再计算。
内容的提问来源于stack exchange,提问作者Vorrven
相关产品推荐
相关产品推荐

