聚类模型的算法性能评价

一、概述

  作为机器学习领域的重要内容之一,聚类模型在许多方面能够发挥举足轻重的作用。所谓聚类,就是通过一定的技术方法将一堆数据样本依照其特性划分为不同的簇类,使得同一个簇内的样本有着更相近的属性。依不同的实现策略,聚类算法有很多种,如基于距离的k-means、基于密度的DBSCAN等。在聚类完成之后,其性能的评估是一个不可规避的问题,常见的评估方法依有无事先的标记性信息分为外部评估法和内部评估法。

二、评价指标

1.外部评估法

  一种常用的评估方式是外部评估,利用测试样本事先已有的标记信息来衡量模型的性能。常见的外部评估指标有纯度(Purity)、兰德指数(Rand Index, RI)、调整兰德指数(Adjusted Rand Index, ARI)、F值(F-score)、杰卡德系数(Jaccard, JC)、标准化互信息(NMI)等。

(1)纯度

  纯度是一种较直接的性能表征方式,计算的是正确聚类的样本数与总样本数的比值。在聚类完成之后,对每个簇内的样本,假设知晓其事先的标记性属性信息,每个簇中类别数量最多的样本即作为该簇的属性类别,给类别下的样本即纯性样本,各个簇的纯性样本数之和对总样本数的占比即纯度(Purity)。表达式为
P u r i t y = 1 N ∑ k m a x j ∣ w k ∩ c j ∣ Purity=\frac{1}{N}\sum_{k}{max_j\left| w_k\cap c_j \right|} Purity=N1kmaxjwkcj
  其中,N为总的样本数, Ω = { w 1 , w 2 , . . . , w K } \Omega=\left\{ w_1,w_2,...,w_K \right\} Ω={w1,w2,...,wK}表示聚类簇的划分, C = { c 1 , c 2 , . . . , c J } C=\left\{ c_1,c_2,...,c_J \right\} C={c1,c2,...,cJ} 表示样本真实类别的划分。纯度的取值范围是[0,1],值越大,性能越好。
【示例】
  现对一堆样本进行聚类操作,划分了三个簇,如下所示
在这里插入图片描述
  在Cluster A中,三角形最多,因此该簇归属为三角形的簇,有效样本数为5;
  在Cluster B中,圆形最多,因此该簇归属为圆形的簇,有效样本数为4;
  在Cluster C中,正方形最多,因此该簇归属为正方形的簇,有效样本数为4。

  纯度为有效样本数对总样本的占比
P u r i t y = 5 + 4 + 4 8 + 6 + 6 = 13 20 = 0.65 Purity=\frac{5+4+4}{8+6+6}=\frac{13}{20}=0.65 Purity=8+6+65+4+4=2013=0.65

(2)兰德指数

  对于已有了预先标记信息的情形,可以以与分类模型中相类似的方式进行衡定,明确下列几个概念
   TP(True Positive):同类样本点被划分在同一个簇中的可能情形数;
   FP(False Positive):非同类样本点被划分在同一个簇中的可能情形数;
   TN(True Negative):非同类样本点分布在不同簇中的可能情形数;
   FN(False Negative):同类样本点分布在不同簇中的可能情形数。
在这里插入图片描述
  兰德指数就是指准确率,聚类后样本分布的整体准确率,定义为
R I = T P + T N T P + F P + T N + F N RI=\frac{TP+TN}{TP+FP+TN+FN} RI=TP+FP+TN+FNTP+TN

(3)调整兰德指数

  对于随机结果,兰德指数并不能保证值接近于零,这与直观上的意义不甚符合,为能够改善这种情况,调整的兰德指数(ARI)被提出。它的表达式为
A R I = R I − E ( R I ) m a x ( R I ) − E ( R I ) ARI=\frac{RI-E(RI)}{max(RI)-E(RI)} ARI=max(RI)E(RI)RIE(RI)
  ARI取值范围为[-1,1],值越接近于1,性能越好;接近于0,相当于随机聚类;接近于-1,性能不如随机聚类。

(4)F值

  这里同样首先借鉴了分类模型中精准度和召回率的概念,然后以F度量进行综合衡定。精准度(Precision)和召回率(Recall)定义为
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP

  F度量综合衡量精确度(查准率)和召回率(查全率), F β F_\beta Fβ是F1的一般形式,能让我们表达出对查准率/查全率的不同偏好,如F1分数认为召回率和精确度同等重要,F2分数认为召回率的重要程度是精确度的两倍,而F0.5分数认为召回率的重要程度是精确度的一半。

F 1 = 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n + r e c a l l F_1=\frac{2\ast precision \ast recall}{precision+recall} F1=precision+recall2precisionrecall

F β = ( 1 + β 2 ) ∗ p r e c i s i o n ∗ r e c a l l β 2 ∗ p r e c i s i o n + r e c a l l F_\beta=\frac{(1+\beta^{2})\ast precision \ast recall}{\beta^2\ast precision + recall} Fβ=β2precision+recall(1+β2)precisionrecall

  F度量的取值范围为[0,1],值越大性能越好。

(5)杰卡德系数

  杰卡德系数(Jaccard, JC)定义为聚类结果正确的样本数与聚簇结果或实际结果一致的比例,取值范围为0到1。表达式为
J C = T P T P + F P + F N JC=\frac{TP}{TP+FP+FN} JC=TP+FP+FNTP

  杰卡德系数值越大,性能越好。

(6)标准化互信息

  这里首先介绍一下互信息(Mutual Information)的概念,它反映了两个事件相互影响所产生的信息量。设两个随机变量(X,Y)的联合分布为p(x,y),边缘分布分别为p(x),p(y),互信息I(X; Y)是联合分布p(x,y)与边缘分布p(x)p(y)的相对熵,即
I ( X ; Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y ) I\left( X;Y \right)=\sum_{x\in X}{\sum_{y\in Y}{p\left( x,y \right)log\frac{p(x,y)}{p(x)p(y)}}} I(X;Y)=xXyYp(x,y)logp(x)p(y)p(x,y)
  标准化互信息(Normalized Mutual Information, NMI)计算表达式为

N M I = I ( X , Y ) F ( H ( x ) , H ( y ) ) NMI=\frac{I\left( X,Y \right)}{F\left( H(x),H(y) \right)} NMI=F(H(x),H(y))I(X,Y)

  其中F(x,y)可以为min/max函数、几何平均或算术平均,几何平均即 F ( x 1 , x 2 ) = x 1 ⋅ x 2 F\left( x_1,x_2 \right)=\sqrt{x_1\cdot x_2} F(x1,x2)=x1x2 ,算术平均即 F ( x 1 , x 2 ) = x 1 + x 2 2 F\left( x_1,x_2 \right)=\frac{x_1+x_2}{2} F(x1,x2)=2x1+x2,采用算术平均是比较常见的一种计算方式,此时NMI表达式可化为
N M I = 2 ⋅ I ( X , Y ) H ( X ) + H ( Y ) NMI=\frac{2\cdot I\left( X,Y \right)}{H\left( X \right)+H\left( Y \right)} NMI=H(X)+H(Y)2I(X,Y)
  其中,I(X,Y)为互信息, H ( X ) = − ∑ i p ( x i ) l o g p ( x i ) H\left( X \right)=-\sum_{i}{p(x_i)logp(x_i)} H(X)=ip(xi)logp(xi) H ( Y ) = − ∑ j p ( y j ) l o g p ( y j ) H\left( Y \right)=-\sum_{j}{p(y_j)logp(y_j)} H(Y)=jp(yj)logp(yj)为信息熵。

2.内部评估法

  另一种常用的评估方式是内部评估,利用测试样本本身的信息衡量模型性能。常见的内部评估指标有紧密度(Compactness, CP)、间隔度(Separation, SP)、轮廓系数(Silhouette Coefficient, SC)、戴维森堡丁指数(Davies-Bouldin Index, DBI)、邓恩指数(Dunn Validity Index, DVI)等。

(1)紧密度

  紧密度(Compactness, CP)是指簇内各点到聚类中心的平均距离,值越小说明簇内紧密度越高
C P = 1 n ∑ i = 1 n ∣ x i − μ ∣ CP=\frac{1}{n}\sum_{i=1}^{n}{\left| x_i-\mu \right|} CP=n1i=1nxiμ

(2)间隔度

  间隔度(Separation, SP)指各个聚类中心之间的平均距离,值越高表明类间距离越大
S P = 1 k 2 ∑ i = 1 k ∑ j = 1 k ∣ ∣ μ i − μ j ∣ ∣ 2 SP=\frac{1}{k^2}\sum_{i=1}^{k}{\sum_{j=1}^{k}{\left| \left| \mu_i-\mu_j \right| \right|_2}} SP=k21i=1kj=1kμiμj2

(3)轮廓系数

  对单个样本,设a是其与同簇中其他样本的平均距离,b是与它距离最近的不同簇类中样本的平均距离,轮廓系数为
s = b − a m a x ( a , b ) s=\frac{b-a}{max\left( a,b \right)} s=max(a,b)ba

  样本集合的轮廓系数是各样本轮廓系数的平均值
S C = 1 n ∑ i = 1 n s i SC=\frac{1}{n}\sum_{i=1}^{n}{s_i} SC=n1i=1nsi

  轮廓系数的取值范围是[-1,1],取值越接近1聚类性能越好,反之越差。

(4)戴维森堡丁指数

  对于两个簇的样本而言,各自簇内平均距离之和除以两簇中心的距离,称为簇间相似度,簇间相似度越小说明簇内距离越小、簇间距离越大,效果越好。对所有的簇,分别找到与之聚类效果最差那个簇的簇间相似度,然后求平均值,即为戴维森堡丁指数(DBI)的定义。表达式为
D B I = 1 N ∑ i = 1 N max ⁡ j ≠ i [ σ i + σ j d ( c i , c j ) ] DBI=\frac{1}{N}\sum_{i=1}^{N}{\max_{j\ne i}{\left[ \frac{\sigma_i+\sigma_j}{d\left( c_i,c_j \right)} \right]}} DBI=N1i=1Nj=imax[d(ci,cj)σi+σj]

  其中, σ i = 1 n i ∑ k = 1 n i x k − μ i \sigma_i=\frac{1}{n_i}\sum_{k=1}^{n_i}{x_k-\mu_i} σi=ni1k=1nixkμi σ j = 1 n j ∑ k = 1 n j x k − μ j \sigma_j=\frac{1}{n_j}\sum_{k=1}^{n_j}{x_k-\mu_j} σj=nj1k=1njxkμj d ( c i , c j ) = ∣ ∣ μ i − μ j ∣ ∣ 2 d\left( c_i,c_j \right)=\left| \left| \mu_i-\mu_j \right| \right|_2 d(ci,cj)=μiμj2
易知,DBI值越小,表明聚类效果越好,反之越差。

(5)邓恩指数

  邓恩指数定义为两簇之间最小的那个簇间距离与各簇中最大的那个簇内距离的比值。表达式为

D V I = m i n 1 ≤ i ≠ j ≤ N d ( μ i , μ j ) m a x 1 ≤ k ≤ N d i n t r a ( k ) DVI=\frac{min_{1\leq i\ne j\leq N}d\left( \mu_i,\mu_j \right)}{max_{1\leq k \leq N} d_{intra}(k)} DVI=max1kNdintra(k)min1i=jNd(μi,μj)

  其中,簇间距离指两个簇的质心之间的距离,对于维度为D的样本集有

d ( μ i , μ j ) = ∑ d = 1 D ( μ i ( d ) − μ j ( d ) ) 2 d\left( \mu_i,\mu_j \right)=\sqrt{\sum_{d=1}^{D}{\left( \mu_{i}^{(d)}-\mu_{j}^{(d)} \right)^2}} d(μi,μj)=d=1D(μi(d)μj(d))2

  簇内距离是簇内各样本到质心的平均距离,对于一个簇S,若质心为c,则它的簇内距离表达式为

d i n t r a = 1 ∣ S ∣ ∑ s = 1 ∣ S ∣ d ( x s , c ) d_{intra}=\frac{1}{|S|}\sum_{s=1}^{|S|}{d\left( x_s,c \right)} dintra=S1s=1Sd(xs,c)

  因簇间距离越大、簇内距离越小时聚类效果越好,所以邓恩指数越大,性能越好。


End.


pdf下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/751803.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

目标检测之YoloV1

一、预测阶段(前向推断) 在预测阶段Yolo就相当于一个黑箱子,输入的是448*448*3的图像,输出是7*7*30的张量,包含了所有预测框的坐标、置信度和类别 为什么是7*7*30呢? --将输入图像划分成s*s个grid cell&a…

stm32 No traget connected/debug识别不到串口的问题

关于stm32串口识别不到,第一步先确定是否线接错(stlink与stm32接口对应),如果确认接线没有问题的话,可以使用以下方法,成功率较高。 首先将stlink的boot0置1,就是把跳线帽换到高电平这一侧&…

专业技术!最新氧化物异质结纳米制备技术

网盘 https://pan.baidu.com/s/1vjO2yLxm638YpnqDQmX7-g?pwd3at5 MOF衍生的B_A_B结构氧化物异质结及其制备方法和应用.pdf 二硫化钼-硫化镉纳米复合材料及其制备方法和应用.pdf 具有异质界面的耐辐照复合薄膜及其制备方法与应用.pdf 基于异质结双界面层纳米材料的复合介电薄膜…

基于单片机和LabVIEW 的远程矿井水位监控系统设计

摘要 : 针 对 现 有 矿 井 水 位 监 控 系 统 存 在 结 构 复 杂 和 不 能 远 程 监 控 的 问 题 , 设计了基于单片机和LabVIEW 的远程矿井水位监控系统 , 详…

获取当前操作系统的名称platform.system()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 获取当前操作系统的名称 platform.system() [太阳]选择题 在Python中,platform.system() 函数被用来获取什么信息? import platform print("【执行】platform.s…

Python数据分析第二课:conda的基础命令

Python数据分析第二课:conda的基础命令 1.conda是什么? conda是一个开源的包管理系统,可以帮助我们进行管理多个不同版本的软件包,还可以帮助我们建立虚拟环境,以便对不同的项目进行隔离。 简单来说,conda是一个软…

充电站,正在杀死加油站

最近,深圳公布了一组数据,深圳的超级充电站数量已超过传统加油站数量,充电枪数量也已超过加油枪数量。 从全国范围看,加油站关停的速度在加快。 充电站正在杀死加油站。 加油站,未来何去何从? 01. 减少 我…

概率论论文(关于“到课率”的贝叶斯推理应用)

概率论论文(关于“到课率”的贝叶斯推理应用) 全条件概率公式和贝叶斯公式趣味识 思考1: (引自贝叶斯公式及朴素贝叶斯分类算法应用初探) “狼来了”的故事想必大家都知道,小孩子第三次对村民说狼来了的时候,村民们没有相信他的话&#xff0…

windows 10 通过wsl安装ubuntu子系统教程

本章教程,主要记录我昨天通过Windows10 wsl安装Ubuntu的安装过程。其中遇到很多问题。 一、确定是否满足条件 系统要求操作系统版本: 需要 Windows 10 版本 1903 或更高版本,且操作系统内部版本号为 18362 或更高。 建议使用最新版本的 Windows 10 以获得最佳性能和最新功能…

VUE项目安全漏洞扫描和修复

npm audit 1、npm audit是npm 6 新增的一个命令,可以允许开发人员分析复杂的代码并查明特定的漏洞。 2、npm audit名称执行,需要包package.json和package-lock.json文件。它是通过分析 package-lock.json 文件,继而扫描我们的包分析是否包含漏洞的。 …

AI数据分析007:根据Excel表格数据绘制柱形图

文章目录 一、介绍二、输入内容三、输出内容一、介绍 将Excel文件中2013年至2019年间线上图书的销售额,以条形图的形式呈现,每个条形的高度代表相应年份的销售额,同时在每个条形上方标注具体的销售额数值 二、输入内容 在deepseek中输入提示词: 你是一个Python编程专家,…

【PostgreSQL】守护数据安全:事务与数据完整性管理

目录 事务管理:确保操作的原子性 事务的概念与重要性 事务的启动与提交 事务的回滚(ROLLBACK)( 数据一致性与隔离级别 隔离级别的解释 设置隔离级别 错误处理与事务的高级策略 异常处理(SAVEPOINT & EXCE…

算法刷题日志 —— 数组和位运算

文章目录 [461. 汉明距离](https://leetcode.cn/problems/hamming-distance/submissions/542447020/)[448. 找到所有数组中消失的数字](https://leetcode.cn/problems/find-all-numbers-disappeared-in-an-array/submissions/)[136. 只出现一次的数字](https://leetcode.cn/pro…

C# 超简单的离线人脸识别库 - ViewFaceCore

项目介绍 ViewFaceCore是一个基于 SeetaFace6 的 .NET 人脸识别解决方案。 项目特点 开源(MIT license)、免费、简单的离线人脸识别库。 跨平台(适用于 Windows、MacOS 和 Linux )。 .NET 框架 和 操作系统 封装完善的NuGet包…

openssl 命令行生成密钥对,生成hash,PSS填充签名,校验

生成密钥对(RSA4096) openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:4096 openssl rsa -pubout -in private_key.pem -out public_key.pem将源文件data.txt生成hash值(sha-256) openssl dgst -sha256 -binary data.t…

数字黄金 vs 全球计算机:比特币与以太坊现货 ETF 对比

撰文:Andrew Kang 编译:J1N,Techub News 本文来源香港Web3媒体:Techub News 比特币现货 ETF 的通过为许多新买家打开了进入加密货币市场的大门,让他们可以在投资组合中配置比特币。但以太坊现货 ETF 的通过&#xf…

YOLOv8改进 | 注意力机制 | 迈向高质量像素级回归的极化自注意力【全网独家】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有…

kafka consumer客户端消费逻辑解析

kafka consumer客户端消费逻辑解析 一、主要消费步骤二、提交策略【步骤2代码解析】【提交策略总结】 三、拉取策略(待补充)四、消费策略【代码解析】【消费策略总结】 一、主要消费步骤 这是kafka客户端拉取消息的入口,有4个主要部分 1、启…

IDEA使用Apidocx插件在RAP生成接口文档

第一步 安装插件,安装最新的1.1.7即可,插件与idea版本对照 第二步 输入对应的IP或域名,端口说明: 1. 38080:为后端数据 API 服务器(rap2-delos) 2. 3000:为前端静态资源服务&…

AI加持,商业智能与分析软件市场释放更大潜能

根据IDC最新发布的《中国商业智能和分析软件市场跟踪报告,2023H2》显示,2023下半年,中国商业智能与分析软件市场规模为5.2亿美元,同比增长为3.7%。其中,本地部署收入占比为89.3%,同比增长1.7%;公…