前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习day18聚类算法评价

机器学习day18聚类算法评价

作者头像
福贵
发布2020-09-01 15:26:00
6210
发布2020-09-01 15:26:00
举报
文章被收录于专栏:菜鸟致敬菜鸟致敬

聚类算法评估

假设没有外部标签数据,我们怎么评价不同聚类算法的优劣?

非监督学习往往没有标注数据,这是模型,算法的设计直接影响最终的输出和模型的性能。为了评估不同的聚类算法,我们可以从簇下手。

  • 以中心定义的数据簇,这类数据集体倾向于球形分布,中心往往被定义为质心,即此数据簇所有点的平均值。集合中数据到中心的距离相比到其他簇中心的距离更近。
  • 以密度定义的数据簇,这类数据集合呈现和周围数据簇明显不同的密度,或稠密,也可能稀疏。当数据簇不规则或者相互盘绕,由噪声,离群点,这是一般使用密度的簇定义。
  • 以连通定义的簇,这类数据集合中的数据点和数据点之间有连接关系,整个数据簇表现为图结构,该定义对不规则的形状或者缠绕的数据簇有效
  • 以概念定义的数据簇,这类数据集合中的所有数据点具有某种共同的性质。

每种情况都需要不同的评估方法,比如K均值聚类可以使用平方误差和来评估。 聚类评估的认识是估计在数据集上进行聚类的可行性,以及聚类方法产生结果的质量,这一过程又分为三个子任务。

  1. 估计聚类趋势 这一步是检测数据分布中是否存在非随机的簇结构,如果数据根据就是随机的,那么聚类的结果毫无意义。我们可以通过增加聚类类别的数量,如果数据是基本随机的,即不存在合适的簇结构,那么聚类误差随聚类类别数量增加而变化的幅度不大,也就找不到一个合适的K对应数据的真实簇数。
  2. 判定数据簇数 确定聚类趋势之后,我们需要找到与真实数据分布最吻合的簇数,据此判定聚类结果的质量。
  3. 测定聚类质量 给定预设的簇数,不同的聚类算法将其输出不同的结果,我们需要判定聚类结果的质量。一般采用下面的指标。
    • 轮廓系数,给定一个点p,该点的轮廓系数定义为

    其中a(p)是点p与同一簇的其他点之间的平均距离,b(p)是点p与另一个不同簇的点之间的最小平均距离。a(p)反应了所属簇的数据紧凑程度,b(p)反应的是该簇与其他临近簇的分离程度。b(p)越大,a(p)越小,对应的聚类质量越好,因此我们将所有点对应的轮廓系数s(p)求平均值来度量聚类结果的质量。

    • 均方差标准偏差,用来衡量聚类结果的紧凑程度,定义如下

    其中

    代表第i个簇,

    是该簇的中心,

    代表属于第i簇的一个样本点,

    为第i个簇的样本数量,P为样本点对应的向量维数。RMSSTD可以看成一个归一化的标准差。

    ,通常NC

    ,因此

    是一个接近点的总数的数,可以看成常数。

    • R方,略
    • 改进Hubert

    统计,略

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与MySQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 聚类算法评估
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档