聚类算法模型评价指标

  • 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)

聚类算法模型评价指标相关推荐

  1. 聚类算法评价指标python实现_聚类算法的评价指标

    如果有了类别标签,那么聚类结果也可以像分类那样计算准确率和召回率.scikitlearn上说:"其实不应该将分类标签作为聚类结果的评价指标,除非你有相关的先验知识或某种假设,知道这种分类类内 ...

  2. 【转】常用的风控算法模型评价指标

    1. 基本概念     FN TP TN FP TP -- True Positive (真正, TP)被模型预测为正的正样本:可以称作判断为真的正确率  TN -- True Negative(真负 ...

  3. 【Python机器学习】聚类算法任务,评价指标SC、DBI、ZQ等系数详解和实战演示(附源码 图文解释)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一.聚类任务 设样本集S={x_1,x_2,-,x_m}包含m个未标记样本,样本x_i=(x_i^(1),x_i^(2),-,x_i^(n))是一 ...

  4. 机器学习:聚类算法的模型评估指标:轮廓系数

    不同于分类模型和回归,聚类算法的模型评估不是一件简单的事. 在分类中,有直接结果(标签)的输出,并且分类的结果有正误之分,所以使用预测的准确度,混淆矩阵,ROC曲线等指标来进行评估.但无论如何评估,都 ...

  5. r型聚类典型指标_常用的聚类算法及聚类算法评价指标

    1. 典型聚类算法 1.1 基于划分的方法 代表:kmeans算法 ·指定k个聚类中心 ·(计算数据点与初始聚类中心的距离) ·(对于数据点,找到最近的{i}ci(聚类中心),将分配到{i}ci中) ...

  6. sklearn学习 6.聚类算法K-Means

    一.概述 1.无监督学习与聚类算法 学习了决策树,随机森林,PCA和逻辑回归,他们虽然有着不同的功能,但却都属于"有监 督学习"的一部分,即是说,模型在训练的时候,即需要特征矩阵X ...

  7. 《菜菜的机器学习sklearn课堂》聚类算法Kmeans

    聚类算法 聚类算法 无监督学习与聚类算法 sklearn中的聚类算法 KMeans KMeans是如何工作的 簇内误差平方和的定义和解惑 sklearn.cluster.KMeans 重要参数 n_c ...

  8. sklearn专题六:聚类算法K-Means

    目录 1 概述 1.1 无监督学习与聚类算法 1.2 sklearn中的聚类算法 2 KMeans 2.1 KMeans是如何工作的 2.2 簇内误差平方和的定义和解惑 2.3 KMeans算法的时间 ...

  9. 机器学习-Sklearn-07(无监督学习聚类算法KMeans)

    机器学习-Sklearn-07(无监督学习聚类算法KMeans) 学习07 1 概述 1.1 无监督学习与聚类算法 聚类算法又叫做"无监督分类",其目的是将数据划分成有意义或有用的 ...

最新文章

  1. 第6章——广度优先搜索
  2. CIPS青工委学术沙龙总结:推荐系统前沿进展丨附回放和课件下载
  3. python中range 10 0_如何在python中使用range方法
  4. eclipse打开jar包出现乱码问题解决方法
  5. android studio 代码缩略图,android studio 设置模板
  6. 【Python3网络爬虫开发实战】1.2.4-GeckoDriver的安装
  7. ASP.NET是如何在IIS下工作的
  8. 【心情】换个皮肤试试看
  9. oracle财务系统与erp,浅谈Oracle ERP财务系统在中煤建安集团的应用
  10. 官方免费数据下载全国行政区划具体到村
  11. 中兴服务器bios启动顺序设置,bios设置启动图解教程
  12. 数学建模——摘要写作
  13. Windows“控制面板”在哪?win10怎么打开控制面板(快捷方法)打开控制面板的多种方法都在这里
  14. java 批量生成条形码,打包zip(springboot)
  15. linux中安装mysql无法启动不了_Linux中安装mysql之后 mysql服务不能启动是怎么回事?...
  16. 基于TBSS的DTI数据处理流程
  17. 国家电网一二次融合配电终端(FTU)发展新方向馈线自动化:具备集中型馈线自动化/就地型馈线自动化包括电压时间型、电压电流型、自适应综合型)及零序电流,零序电压或外施信号法的单相接地故障选线功能
  18. 2021.03.27_网易云登录params、encSecKey参数详解
  19. Python使用ffmpy将amr格式的音频转化为mp3格式
  20. 百度手环开源 51822开发套件

热门文章

  1. (手机,qq,QQ邮箱验证格式)正则表达式
  2. js中唤醒弹框的3种方式
  3. 松柏先生:占领顾客8大“心智暗门”,彻底甩开对手!
  4. 火车票余票问题的算法解析
  5. ubuntu16.04安装使用YouTube-DL和Youtube-dl GUI
  6. 【CFD理论】扩散项-01
  7. 挑战杯三创互联网+创青春等创新创业类竞赛国家级作品案例模板全套资料分享
  8. lede 增加新固件型号
  9. 易驾佳智能机器人教练_用RoboCoach代替驾校教练 易驾佳欲用AI技术改变驾培
  10. python折线图保存后是空白怎么办?