聪明的冰棍 · 邓明华:基于深度学习的单细胞聚类与标注-数学 ...· 2 周前 · |
细心的茶叶 · 数据挖掘学习02 - ...· 2 周前 · |
玩篮球的跑步机 · 基于因子分析和K-means聚类算法的行业聚 ...· 2 周前 · |
坏坏的李子 · 基于K-Means聚类分析的汽车行驶工况构建 ...· 2 周前 · |
暴躁的机器猫 · 客户细分 —— k-means 聚类分析 ...· 2 周前 · |
迷茫的打火机 · Silk Laundry Head ...· 2 月前 · |
坏坏的灌汤包 · Pythonでエスケープシーケンスを無視(回 ...· 5 月前 · |
不敢表白的勺子 · 10岁上大学16岁读博:18年后,那个震惊全 ...· 5 月前 · |
冷冷的热水瓶 · 垃圾分类逼疯上海市民?学会这些完全不慌-太平 ...· 6 月前 · |
玩足球的大海 · 计算机视觉最不卷的方向:三维重建学习路线梳理 ...· 9 月前 · |
好的聚类算法一般要求类簇具有高的类内(intra-cluster)相似度和低的(inter-cluster)相似度。
聚类算法有外部(External)评价指标和内部(Internal)评价指标两种,外部评价指标需要借助数据真实情况进行对比分析,内部评价指标不需要其他数据就可以进行指标的评估。
m_{11}=|\{1,2\}|=2,\quad m_{12}=|\emptyset|=0,\quad m_{21}=|\{3\}|=1,\quad m_{22}=|\{4\}|=1 m 1 1 = ∣ { 1 , 2 } ∣ = 2 , m 1 2 = ∣ ∅ ∣ = 0 , m 2 1 = ∣ { 3 } ∣ = 1 , m 2 2 = ∣ { 4 } ∣ = 1N M I ( U , V ) = F ( H ( U ) , H ( V ) ) − E [ M I ( U , V ) ] M I ( U , V ) − E [ M I ( U , V ) ]
E[MI(U,V)]=\sum_{i=1}^R\sum_{j=1}^J\sum_{k=(a_i+b_j-N)^+}^{min(a_i,b_j)}\frac{k}{N}\ln(\frac{Nk}{a_ib_j})\frac{a_i!b_j!(N-a_i)!(N-b_j)!}{N!k!(a_i-k)!(b_j-k)!(N-a_i-b_j+k)!} E [ M I ( U , V ) ] = i = 1 ∑ R j = 1 ∑ J k = ( a i + b j − N ) + ∑ m i n ( a i , b j ) N k ln ( a i b j N k ) N ! k ! ( a i − k ) ! ( b j − k ) ! ( N − a i − b j + k ) ! a i ! b j ! ( N − a i ) ! ( N − b j ) !
A M I ∈ [ − 1 , 1 ] ,取值越大,表明聚类结果与真实情况越吻合。
from sklearn.metrics.cluster import entropy, mutual_info_score, normalized_mutual_info_score MI = lambda x, y: mutual_info_score(x, y) NMI = lambda x, y: normalized_mutual_info_score(x, y, average_method='arithmetic') AMI = lambda x, y: adjusted_mutual_info_score(x, y, average_method='arithmetic')
兰德指数与调整兰德指数
兰德指数(Rand Index, RI)
兰德指数将聚类看成是一系列的决策过程,即对文档集上所有 CN2=N(N−1)/2 个文档对进行决策。当且仅当两篇文档相似时,我们将它们归入同一簇中。
正确决策:
- TP 将两篇相似文档归入一个簇 (同 - 同);
- TN 将两篇不相似的文档归入不同的簇 (不同 - 不同)。
错误决策:
- FP 将两篇不相似的文档归入同一簇 (不同 - 同);
- FN 将两篇相似的文档归入不同簇 (同- 不同) (worse)。
RI 则是计算正确决策的比率
ARI∈[−1,1],取值越大,表明聚类结果与真实情况越吻合。Python代码
from sklearn.metrics.cluster import adjusted_mutual_info_score ARI = lambda x, y: adjusted_mutual_info_score(x, y)
聚类精确度(Accuracy, AC)
δ(x,y)={10x=yotherwise
而式中的 map 则表示最佳类标的重现分配,以才能保证统计的正确。一般的该最佳重分配可以通过匈牙利算法 (Kuhn-Munkres or Hungarian Algorithm) 实现,从而在多项式时间内求解该任务(标签)分配问题。机器学习Educoder平台实训–聚类性能评估指标 平台上的其他实训题目都有答案,只有这个没有,我把题目贴出来方便对比,顺便分享答案,只是第2个题目测评的时候第三个结果没通过,不知道是为什么,欢迎大佬来指正。 第1关:外部指标 本关任务:填写python代码,完成calc_JC函数、calc_FM函数和calc_Rand函数分别实现计算JC系数、FM指数和Rand指数。 测试输入: {‘y_true’:[0, 0, 0, 1, 1, 1], ‘y_pred’:[0, 0, 1, 1, 2, 2]}几十种聚类评估方法,包含类内评估和类间评估。说到聚类性能比较好,就是说同一簇的样本尽可能的相似,不同簇的样本尽可能不同,即是说聚类结果“簇内相似度”(intra-cluster similarity)高,而“簇间相似度”(inter-cluster similarity)低。 聚类性能的评估(度量)分为两大类: 外部评估(external evaluation):将结果与某个“参考模型”(reference model)进行比较; 内部评估(internal evaluation):直接考虑聚类结果而不利用任何参考模型。第1关:外部指标 本关任务:填写 python 代码,完成 calc_JC 函数、calc_FM 函数和 calc_Rand 函数分别实现计算 JC系数、FM 指数 和 Rand 指数 。 为了完成本关任务,你需要掌握: JC 系数; FM 指数; Rand 指数。 聚类的性能度量大致分为两类:一类是将聚类结果与某个参考模型作为参照进行比较,也就是所谓的外部指标;另一类则是直接度量聚类的性能而不使用参考模型进行比较,也就是内部指标。外部指标通常使用 Jaccard Coeffi聚类分析的评价指标也称为:性能度量指标 聚类算法聚类后,如何评价聚类结果,如何确定各聚类算法结果的优劣,如何确定聚类算法的参数值,可以通过聚类性能度量指标从一个方侧面说明聚类算法和算法参数的选择。 聚类性能度量指标分为外部指标和内容指标。 外部指标: 外部指标,也就是有参考标准的指标,通常也可以成为有监督情况下的一种度量聚类算法和各参数的指标。具体就是聚类算法的聚类结果和已知的(有标签的、人工标准或基于一种理想的聚类的结果)相比较,从而衡量设计的聚类算法的性能、优劣。 外部指标主要有: 将样本两两配对,然后确定4个值: a为在参考模型中属于同一个类且在聚类结果中属于同一个簇的样本对的数量。 b为在参考模型中属于同一个类且在聚类结果中不在同一个簇的样本对的数量。 c为在参考模型中不在同一个类且在聚类结果中属于同一个簇的样本对的数量。 d为在参考模型中不...[ML] 聚类评价指标
聚类效果评价指标:MI, NMI, AMI(互信息,标准化互信息,调整互信息)
聚类算法的评价指标
聚类︱python实现 六大 分群质量评估指标(兰德系数、互信息、轮廓系数)
聪明的冰棍 · 邓明华:基于深度学习的单细胞聚类与标注-数学与统计学院 2 周前 |
玩篮球的跑步机 · 基于因子分析和K-means聚类算法的行业聚类研究 Research on Industry Clustering Based on Factor Analysis and K-Means Clust 2 周前 |
坏坏的李子 · 基于K-Means聚类分析的汽车行驶工况构建 Construction of Vehicle Driving Cycle Based on K-Means Cluster Analysis 2 周前 |
冷冷的热水瓶 · 垃圾分类逼疯上海市民?学会这些完全不慌-太平洋电脑网 6 月前 |