聚类算法模型评价指标
聚类算法模型评价指标
- 1.如何衡量聚类算法的效果?
- 2.簇内平方和的缺点
- 3.使用轮廓系数评价聚类算法
- 4. 轮廓系数计算代码实现
1.如何衡量聚类算法的效果?
- 聚类算法的结果不是某种标签输出,并且聚类的结果是不确定的,其优劣有业务的需求或者算法需求来决定,并没有正确答案
2.簇内平方和的缺点
首先,它不是有界的,只知道
inertia
越小越好,是0最好。但是我们不知道,一个较小的inertia
有没有达到模型的极限,能否继续提高计算容易受到特征的数目影响,数据维度很大时,
interia
的计算量会爆炸,不适合用来一次次评估模型会受到超参数k的影响,随着k越大,
interia
会越来越小,但不代表模型的效果越来越好使用
inertia
作为指标,会让聚类算法在一些细长簇,环形簇,或者不规则形状的聚类时,效果不佳:
3.使用轮廓系数评价聚类算法
- 轮廓系数【轮廓系数是最常用的聚类算法的评价指标】
- 一般情况下,是对没有真实标签的数据进行探索,即不知道真正答案的数据进行聚类。这种聚类,是完全依赖于评价簇内的稠密程度(
簇内差异小
)和簇间的离散程度(簇外差异大
)来评估聚类效果。 - 轮廓系数是最常用的聚类算法的评价指标
- 能够衡量样本与其自身所在的簇中的其他样本的相似度a【簇内相似度】,等于样本与同一簇中所有其他点之间的平均距离
- 能够衡量样本与其他簇中的样本的相似度b【簇间相似度】,等于样本与下一个最近的簇中的所有点之间的平均距离
- 根据聚类要求"簇内差异小,簇外差异大",希望b永远大于a,并且越大越好
- 轮廓系数计算公式【取值范围是(-1,1)】
- 值越接近1表示样本与自己所在的簇中的样本很相似,并且与其它簇中的样本不相似。当样本与簇外的样本更相似时,轮廓系数为负。
- 当轮廓系数为0时,代表两个簇中的样本相似度一致,两个簇应该是一个簇。
- 一般情况下,是对没有真实标签的数据进行探索,即不知道真正答案的数据进行聚类。这种聚类,是完全依赖于评价簇内的稠密程度(
- 总结:
轮廓系数越接近于1越好,负数则表示聚类效果非常差
如果一个簇中的大多数样本具有较高的轮廓系数,则簇会有较高的总轮廓系数,则整个数据集的平均轮廓系数越高,即聚类效果最好
如果许多样本点具有低轮廓系数甚至负数,则聚类效果不好,聚类的超参数k可能设定的太大或太小
4. 轮廓系数计算代码实现
函数 | 返回值 |
---|---|
from sklearn.metrics import silbouette_score
|
返回一个数据集中所有样本的轮廓系数的均值 |
from sklearn.metrics import silhouetet_samples` | 返回数据集中每个样本自己的轮廓系数 |
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
from sklearn.metrics import silhouette_score
from sklearn.metrics import silhouette_samples
X,y=make_blobs(n_samples=500,n_features=2,centers=4,random_state=1)
n_clusters=3
cluster=KMeans(n_clusters=n_clusters,random_state=0).fit(X)
y_pred=cluster.labels_
silhouette_score(X,y_pred) #0.5882004012129721
silhouette_samples(X,y_pred)
聚类算法模型评价指标相关推荐
- 聚类算法评价指标python实现_聚类算法的评价指标
如果有了类别标签,那么聚类结果也可以像分类那样计算准确率和召回率.scikitlearn上说:"其实不应该将分类标签作为聚类结果的评价指标,除非你有相关的先验知识或某种假设,知道这种分类类内 ...
- 【转】常用的风控算法模型评价指标
1. 基本概念 FN TP TN FP TP -- True Positive (真正, TP)被模型预测为正的正样本:可以称作判断为真的正确率 TN -- True Negative(真负 ...
- 【Python机器学习】聚类算法任务,评价指标SC、DBI、ZQ等系数详解和实战演示(附源码 图文解释)
需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一.聚类任务 设样本集S={x_1,x_2,-,x_m}包含m个未标记样本,样本x_i=(x_i^(1),x_i^(2),-,x_i^(n))是一 ...
- 机器学习:聚类算法的模型评估指标:轮廓系数
不同于分类模型和回归,聚类算法的模型评估不是一件简单的事. 在分类中,有直接结果(标签)的输出,并且分类的结果有正误之分,所以使用预测的准确度,混淆矩阵,ROC曲线等指标来进行评估.但无论如何评估,都 ...
- r型聚类典型指标_常用的聚类算法及聚类算法评价指标
1. 典型聚类算法 1.1 基于划分的方法 代表:kmeans算法 ·指定k个聚类中心 ·(计算数据点与初始聚类中心的距离) ·(对于数据点,找到最近的{i}ci(聚类中心),将分配到{i}ci中) ...
- sklearn学习 6.聚类算法K-Means
一.概述 1.无监督学习与聚类算法 学习了决策树,随机森林,PCA和逻辑回归,他们虽然有着不同的功能,但却都属于"有监 督学习"的一部分,即是说,模型在训练的时候,即需要特征矩阵X ...
- 《菜菜的机器学习sklearn课堂》聚类算法Kmeans
聚类算法 聚类算法 无监督学习与聚类算法 sklearn中的聚类算法 KMeans KMeans是如何工作的 簇内误差平方和的定义和解惑 sklearn.cluster.KMeans 重要参数 n_c ...
- sklearn专题六:聚类算法K-Means
目录 1 概述 1.1 无监督学习与聚类算法 1.2 sklearn中的聚类算法 2 KMeans 2.1 KMeans是如何工作的 2.2 簇内误差平方和的定义和解惑 2.3 KMeans算法的时间 ...
- 机器学习-Sklearn-07(无监督学习聚类算法KMeans)
机器学习-Sklearn-07(无监督学习聚类算法KMeans) 学习07 1 概述 1.1 无监督学习与聚类算法 聚类算法又叫做"无监督分类",其目的是将数据划分成有意义或有用的 ...
最新文章
- 第6章——广度优先搜索
- CIPS青工委学术沙龙总结:推荐系统前沿进展丨附回放和课件下载
- python中range 10 0_如何在python中使用range方法
- eclipse打开jar包出现乱码问题解决方法
- android studio 代码缩略图,android studio 设置模板
- 【Python3网络爬虫开发实战】1.2.4-GeckoDriver的安装
- ASP.NET是如何在IIS下工作的
- 【心情】换个皮肤试试看
- oracle财务系统与erp,浅谈Oracle ERP财务系统在中煤建安集团的应用
- 官方免费数据下载全国行政区划具体到村
- 中兴服务器bios启动顺序设置,bios设置启动图解教程
- 数学建模——摘要写作
- Windows“控制面板”在哪?win10怎么打开控制面板(快捷方法)打开控制面板的多种方法都在这里
- java 批量生成条形码,打包zip(springboot)
- linux中安装mysql无法启动不了_Linux中安装mysql之后 mysql服务不能启动是怎么回事?...
- 基于TBSS的DTI数据处理流程
- 国家电网一二次融合配电终端(FTU)发展新方向馈线自动化:具备集中型馈线自动化/就地型馈线自动化包括电压时间型、电压电流型、自适应综合型)及零序电流,零序电压或外施信号法的单相接地故障选线功能
- 2021.03.27_网易云登录params、encSecKey参数详解
- Python使用ffmpy将amr格式的音频转化为mp3格式
- 百度手环开源 51822开发套件