轮廓系数(一个异型簇的分类标准)

定义

轮廓系数是"簇内紧密性" 和 "簇间分离度" 量化聚类效果,取值范围为 [-1, 1],越接近 1 表示聚类质量越好。

簇内紧密性:指的该样本到同簇内距离的平均值

簇间分离度:指的是最小化(该样本到每个异簇的距离的平均值)

公式

弹性网络损失函数

ElasticNet融合L1和L2惩罚,损失函数为:

样本 i 的轮廓系数 } s 公式为

s= \\begin{cases} 1 - \\dfrac{a_i}{b_i}, \& \\text{若 } a_i \< b_i \\ (\\text{簇内紧、簇间远,聚类好}) \\\\ 0, \& \\text{若 } a_i = b_i \\ (\\text{簇内与簇间距离相当,聚类一般}) \\\\ \\dfrac{a_i}{b_i} - 1, \& \\text{若 } a_i \> b_i \\ (\\text{簇内松、簇间近,聚类差}) \\end{cases}

个人理解核心目标是最小化紧密型 最大化分离度

根据这个目标推算公式

全局轮廓系数就是所有轮廓系数的平均值

复制代码
from sklearn.metrics import silhouette_samples,silhouette_score
    score = silhouette_score(X, cluster_labels)  # 计算全局轮廓系数


  # 4.3 计算所有样本的轮廓系数(包括新样本)
    sample_silhouettes = silhouette_samples(X_combined, labels_combined)
    # 4.4 提取新样本的轮廓系数(最后一个元素)
    new_sample_score = sample_silhouettes[-1]

总结

首先轮廓系数是可以作为聚类算法的评估指标,同样也可用二分法在大数据上进行优化

相关推荐
寒月小酒几秒前
3.29+3.30
数据结构·算法
杜子不疼.几秒前
高并发场景下 Spring MVC + 虚拟线程 vs WebFlux 选型对比
java·人工智能·spring·mvc
Flying pigs~~1 分钟前
基于Bert的模型迁移文本分类项目
人工智能·深度学习·算法·大模型·nlp·bert
ZoeJoy82 分钟前
算法筑基(六):分治算法——大事化小,小事化了
算法·排序算法·动态规划·哈希算法·图搜索算法
新加坡内哥谈技术4 分钟前
AI代理可能会让自由软件再次变得重要
人工智能·ai编程
cskywit4 分钟前
打破“像素级”扫描瓶颈:聚类驱动的4K图像恢复新范式 (解读 Scan Clusters, Not Pixels)
机器学习·数据挖掘·聚类
美式请加冰5 分钟前
BFS算法(下)
算法·宽度优先
少许极端5 分钟前
算法奇妙屋(三十七)-贪心算法学习之路4
学习·算法·贪心算法·田忌赛马
Fleshy数模5 分钟前
从零实现Word2Vec之CBOW模型:理解词向量的核心原理
人工智能·自然语言处理·word2vec
We་ct6 分钟前
LeetCode 373. 查找和最小的 K 对数字:题解+代码详解
前端·算法·leetcode·typescript·二分·