sklearn聚类算法评估方法 之各种系数
来源:互联网 发布:云计算架构是什么 编辑:程序博客网 时间:2024/06/10 09:04
python中的分群质量
主要参考来自官方文档:Clustering
部分内容来源于:机器学习评价指标大汇总
个人比较偏好的三个指标有:Calinski-Harabaz Index(未知真实index的模型评估)、Homogeneity, completeness and V-measure(聚类数量情况)、轮廓系数
1.1 Adjusted Rand index 调整兰德系数
>>> from sklearn import metrics>>> labels_true = [0, 0, 0, 1, 1, 1]>>> labels_pred = [0, 0, 1, 1, 2, 2]>>> metrics.adjusted_rand_score(labels_true, labels_pred) 0.24
.
1.2 Mutual Information based scores 互信息
Two different normalized versions of this measure are available, Normalized Mutual Information(NMI) and Adjusted Mutual Information(AMI). NMI is often used in the literature while AMI was proposed more recently and is normalized against chance:
>>> from sklearn import metrics>>> labels_true = [0, 0, 0, 1, 1, 1]>>> labels_pred = [0, 0, 1, 1, 2, 2]>>> metrics.adjusted_mutual_info_score(labels_true, labels_pred) 0.22504
.
1.3 Homogeneity, completeness and V-measure
同质性homogeneity:每个群集只包含单个类的成员。
完整性completeness:给定类的所有成员都分配给同一个群集。
>>> from sklearn import metrics>>> labels_true = [0, 0, 0, 1, 1, 1]>>> labels_pred = [0, 0, 1, 1, 2, 2]>>> metrics.homogeneity_score(labels_true, labels_pred) 0.66...>>> metrics.completeness_score(labels_true, labels_pred) 0.42...
两者的调和平均V-measure:
>>> metrics.v_measure_score(labels_true, labels_pred) 0.51...
.
1.4 Fowlkes-Mallows scores
The Fowlkes-Mallows score FMI is defined as the geometric mean of the pairwise precision and recall:
>>> from sklearn import metrics>>> labels_true = [0, 0, 0, 1, 1, 1]>>> labels_pred = [0, 0, 1, 1, 2, 2]>>>>>> metrics.fowlkes_mallows_score(labels_true, labels_pred) 0.47140...
.
1.5 Silhouette Coefficient 轮廓系数
>>> import numpy as np>>> from sklearn.cluster import KMeans>>> kmeans_model = KMeans(n_clusters=3, random_state=1).fit(X)>>> labels = kmeans_model.labels_>>> metrics.silhouette_score(X, labels, metric='euclidean')... 0.55...
.
1.6 Calinski-Harabaz Index
这个计算简单直接,得到的Calinski-Harabasz分数值ss越大则聚类效果越好。Calinski-Harabasz分数值ss的数学计算公式是(理论介绍来源于:用scikit-learn学习K-Means聚类):
也就是说,类别内部数据的协方差越小越好,类别之间的协方差越大越好,这样的Calinski-Harabasz分数会高。
在scikit-learn中, Calinski-Harabasz Index对应的方法是metrics.calinski_harabaz_score.
在真实的分群label不知道的情况下,可以作为评估模型的一个指标。
同时,数值越小可以理解为:组间协方差很小,组与组之间界限不明显。
与轮廓系数的对比,笔者觉得最大的优势:快!相差几百倍!毫秒级
>>> import numpy as np>>> from sklearn.cluster import KMeans>>> kmeans_model = KMeans(n_clusters=3, random_state=1).fit(X)>>> labels = kmeans_model.labels_>>> metrics.calinski_harabaz_score(X, labels) 560.39...
- sklearn聚类算法评估方法 之各种系数
- 聚类评估算法-轮廓系数(Silhouette Coefficient )
- sklearn.metrics中的评估方法介绍
- sklearn之模型选择与评估
- 聚类算法学习----之----sklearn.cluster.KMeans
- 聚类算法学习----之----sklearn.cluster.DBSCAN
- 皮尔逊系数皮尔逊系数---K近算法之皮尔逊系数
- sklearn之Kmeans算法
- Spark GraphX之全局聚类系数、局部聚类系数、网络平均聚类系数
- sklearn.metrics中的评估方法(accuracy_score,recall_score,roc_curve,roc_auc_score,confusion_matrix)
- 使用sklearn进行K_Means聚类算法
- sklearn中的模型评估
- sklearn中的模型评估
- sklearn中的模型评估
- Kmeans 聚类算法评估足球比赛
- [机器学习] 聚类算法的轮廓系数,java实现
- 聚类系数可调的无标度网络生成算法
- 转:sklearn中的模型评估
- Python爬虫学习(一)
- linux指令
- mybatis 动态传多表分页查询
- Oracle inner join、left join、right join 、+左边或者右边的区别
- Spark SQL核心类解析
- sklearn聚类算法评估方法 之各种系数
- 【观察】京东智能大屏产业联盟,能否打开中国智能家庭的大门?
- android 系统自带分享功能之pdf分享并且打开
- 互联网项目开发里程碑及各阶段交付资料 郑澍璋 郑澍璋 3 个月前 互联网项目的开发有一套专业的设计和开发流程,知乎上关于这方面的文章也有很多,但大多数文章偏专业性。以下以匠邦互联网公司内部的开发流程为
- 关于Mybatis中遇到的“无效列类型:1111”
- jQuery cookie的简单实现
- 苹果官方的objective c文档
- linux 磁盘挂载的三种方法
- vulkan & dx12