聚类相关:
聚类算法(一)——DBSCAN
聚类算法(二)—— 优缺点对比
聚类算法(三)—— 评测方法1
聚类算法(三)—— 评测方法2
聚类算法(三)—— 评测方法3(代码)
聚类算法(四)—— 基于词语相似度的聚类算法(含代码)
聚类算法(五)——层次聚类 linkage (含代码)
聚类算法(六)——谱聚类 (含代码)
机缘巧合,写了个聚类算法 聚类算法(四)—— 基于词语相似度的聚类算法
用在一些任务上效果还不错,然鹅组长让我来个评测… 拖了好久拖不掉了,就调研了一番,发现目前对于聚类算法的评测有很多,比较杂乱,进行了相关整理。
聚类算法评测指标-调研
大体分为两种,一种是内部质量评价标准
,主要是无分类标签的数据集进行评价,另外一种是外部质量评价标准
,主要是基于已知分类标签数据集进行评价的。
内部评测指标
-
轮廓系数
-
CH指标
-
簇的凝聚度
- 簇的邻近度
-
Davies-Bouldin Index(DBI)
-
Dunn Index(DI)
外部评价指标
-
RI
-
ARI
-
AMI
-
Homogeneity,Completeness and V-measure
-
FMI(Fowlkes-Mallows index)
-
Jaccard Coefficient(JC,又称 Jaccard Index)
-
Dice Index(DI)
-
熵
“熵”,是信息论中最重要的基础概念。熵表示一个系统的有序程度,而聚类问题的性能评估,就是对比经过聚类算法处理后的数据的有序程度,与人工标记的类别的有序程度之间的差异。
-
纯度
-
F-measure
参考
- http://www.360doc.com/content/19/0818/20/99071_855719345.shtml
- https://blog.csdn.net/darkrabbit/article/details/80378597#%E8%81%9A%E7%B1%BB%E6%80%A7%E8%83%BD%E8%AF%84%E4%BC%B0clustering-evaluation-and-assessment
- https://www.cnblogs.com/czhwust/p/mlclusterpre.html
- https://blog.csdn.net/howhigh/article/details/73928635
评测
- 评测了两个领域和一份人工修改的测试数据效果
- 评测指标: 目前尝试了RI、ARI、FMI、JC、DI
- 评测内容为标注数据和预测数据的交集(不考虑未分类数据)
- p=a/(a+b) r=a/(a+c)
领域1:
predict word number: 4423
label word number: 913
intesection keywords num: 530
count number: a:168 c:3002 b:214 d:136801
count number: e:3170 f:382
RI: 0.9770588864714485
ARI: 0.0879865819838716
FMI: 0.15266798345293525
JC: 0.04964539007092199
DI: 0.0945945945945946
p:0.4397905 r:0.0529968
领域2:
标注文本为在聚类基础上修改得到,合并多个类别操作较多
predict word number: 1378
label word number: 1101
intesection keywords num: 1020
count number: a:2629 c:14815 b:39 d:502207
count number: e:17444 f:2668
RI: 0.9714175758625334
ARI: 0.25201146024869014
FMI: 0.38536709970334326
JC: 0.1503746496596694
DI: 0.2614359586316627
p:0.985382 r:0.15376706
测试文本:
随机拆分了两个类别
predict word number: 53
label word number: 53
intesection keywords num: 53
count number: a:197 c:234 b:0 d:947
count number: e:431 f:197
RI: 0.8301886792452831
ARI: 0.5364204896703423
FMI: 0.6760743791368595
JC: 0.45707656612529
DI: 0.6273885350318471
p: 1 r:0.457076
然鹅发现这些评测结果很有问题,不能真实反应聚类效果
采用sklearn现有的评测函数,测试了ARI, AMI, homogeneity(同质性)、completeness(完整性)、V_measure(同质性 完整性的调和平均) 参考link
领域1效果:
precision:0.4397905759162304 recall:0.05299684542586751 F-value:0.0945945945945946
AI:0.09016933565958538
AMI:0.11718068476365424
homogeneity:0.9278907479038653 completeness:0.6445827656718868 V-measure:0.7607153689541823
领域2效果:
precision:0.9853823088455772 recall:0.1507108461362073 F-value:0.2614359586316627
ARI:0.25479951504029247
AMI:0.4344109852617058
homogeneity:0.9934320435230544 completeness:0.6595710067268064 V-measure:0.792786163294891
测试文本:
precision:1.0 recall:0.45707656612529 F-value:0.6273885350318471
ARI:0.5364204896703423
AMI:0.6328650659598968
homogeneity:0.9999999999999997 completeness:0.6891475031119095 V-measure:0.815970780340137
Kmeans评测
领域1效果:
100类别
ARI:0.18214504063444517
AMI:0.28122221726422314
homogeneity:0.7003464825027328 completeness:0.6357110634314752 V-measure:0.6664653158348756
150类别
ARI:0.16713785084206045
AMI:0.25041822670490227
homogeneity:0.7621434666403422 completeness:0.6425861265572681 V-measure:0.6972769997598411
200类别
ARI:0.16489524542777634
AMI:0.2202800977107914
homogeneity:0.8126973974575826 completeness:0.6466140132305084 V-measure:0.7202047785869827
500类别
ARI:0.01503979908827144
AMI:0.021126987667133466
homogeneity:0.9911582797357518 completeness:0.6340129877627932 V-measure:0.7733427668190755
领域2效果:
100类别
ARI:0.21799501897622525
AMI:0.4320657182935456
homogeneity:0.7309777094163977 completeness:0.6011322647705336 V-measure:0.6597267409944254
150类别
ARI:0.19593710970495748
AMI:0.38106846285841933
homogeneity:0.778365354949881 completeness:0.5883676184964978 V-measure:0.6701601250714393
200类别
ARI:0.15677106944442937
AMI:0.33947097014199384
homogeneity:0.8192739577969507 completeness:0.5807453634437717 V-measure:0.6796899802199217
500类别
ARI:0.08497808163761142
AMI:0.20475022500842785
homogeneity:0.932237871523388 completeness:0.5596251372376134 V-measure:0.6993989980657189
Kmeans 一大缺点就是需要设置类别,调整看效果