聚类性能度量指标及距离计算
Python实现KMeans算法
1.外部指标
将聚类结果与某个“参考模型进行比较”
每次抽出两个样本,讨论所属聚类结果和参考模型,确定四个值:
- a:聚类结果同属于一类,参考模型同属于一类
- b:聚类结果同属于一类,参考模型不同属于一类
- c:聚类结果不同属于一类,参考模型属于同一类
- d:聚类结果不同属于一类,参考模型不同属于一类
1.1Jaccard系数(JC)
JC=aa+b+cJC=\frac{a}{a+b+c} JC=a+b+ca
1.2FM指数(FMI)
FMI=aa+b∗aa+cFMI=\sqrt{\frac{a}{a+b}*\frac{a}{a+c}} FMI=a+ba∗a+ca
1.3Rand指数(RI)
RI=2(a+d)m(m−1)RI=\frac{2(a+d)}{m(m-1)} RI=m(m−1)2(a+d)
上述性能度量的结果值均在[0,1]区间,值越大越好。
2.内部指标
直接考察聚类结果而不利用任何参考模型
将聚类结果的簇划分为C={C1,C2,...,Ck}C=\{C_1,C_2,...,C_k\}C={C1,C2,...,Ck},也就是总共划分为k个簇
avg(C)=2∣C∣(∣C∣−1)∑1≤i<j≤∣C∣dist(xi,xj)avg(C)=\frac{2}{|C|(|C|-1)}\sum_{1\leq i<j\leq|C|} dist(x_i,x_j) avg(C)=∣C∣(∣C∣−1)21≤i<j≤∣C∣∑dist(xi,xj)
- avg(C)avg(C)avg(C):对应于簇C内样本间的平均距离
diam(C)=max1≤i<j≤∣C∣dist(xi,xj)diam(C)=max_{1\leq i<j\leq|C|}dist(x_i,x_j) diam(C)=max1≤i<j≤∣C∣dist(xi,xj) - diam(C)diam(C)diam(C):对应于簇C内样本间的最远距离
dmin(Ci,Cj)=minxi∈Ci,xj∈Cjdist(xi,xj)d_{min}(C_i,C_j)=min_{x_i\in C_i,x_j\in C_j}dist(x_i,x_j) dmin(Ci,Cj)=minxi∈Ci,xj∈Cjdist(xi,xj) - dmin(Ci,Cj)d_{min}(C_i,C_j)dmin(Ci,Cj):对应于簇CiC_iCi与簇CjC_jCj最近样本间的距离
dcen(Ci,Cj)=dist(ui,uj)d_{cen}(C_i,C_j)=dist(u_i,u_j) dcen(Ci,Cj)=dist(ui,uj) - dcen(Ci,Cj)d_{cen}(C_i,C_j)dcen(Ci,Cj):对应于簇CiC_iCi与簇CjC_jCj中心点间的距离
2.1DB指数(DBI)
DBI=1k∑i=1kmaxj≠i(avg(Ci)+avg(Cj)dcen(Ci,Cj))DBI=\frac{1}{k}\sum_{i=1}^{k}max_{j\ne i}(\frac{avg(C_i)+avg(C_j)}{d_{cen}(C_i,C_j)}) DBI=k1i=1∑kmaxj=i(dcen(Ci,Cj)avg(Ci)+avg(Cj))
2.2Dunn指数(DI)
DI=min1≤i≤k{minj≠i(dmin(Ci,Cj)max1≤l≤kdiam(Cl)))}DI=min_{1\leq i\leq k}\{min_{j\ne i}(\frac{d_{min}(C_i,C_j)}{max_{1\le l\le k}diam(C_l))})\} DI=min1≤i≤k{minj=i(max1≤l≤kdiam(Cl))dmin(Ci,Cj))}
DBI的值越小越好,DI值越大越好.
3距离计算
dist(,)若它是一个“距离度量”,则需要满足一些基本性质:
- 非负性:dist(xi,xj)≥0dist(x_i,x_j)\geq0dist(xi,xj)≥0
- 同一性:dist(xi,xj)=0dist(x_i,x_j)=0dist(xi,xj)=0当且仅当xi=xjx_i=x_jxi=xj
- 对称性:dist(xi,xj)=dist(xj,xi)dist(x_i,x_j)=dist(x_j,x_i)dist(xi,xj)=dist(xj,xi)
- 直递性:dist(xi,xj)≤dist(xi,xk)+dist(xk,xj)dist(x_i,x_j)\le dist(x_i,x_k)+dist(x_k,x_j)dist(xi,xj)≤dist(xi,xk)+dist(xk,xj)
给定样本xi=(xi1;xi2;...;xin)x_i=(x_{i1};x_{i2};...;x_{in})xi=(xi1;xi2;...;xin)与xj=(xj1;xj2;...;xjn)x_j=(x_{j1};x_{j2};...;x_{jn})xj=(xj1;xj2;...;xjn),最常用的是"闵可夫斯基距离"(Minkokski distance)
distmk(xi,xj)=(∑u=1n∣xiu−xju∣)1pdist_{mk}(x_i,x_j)=(\sum_{u=1}^n|x_{iu}-x_{ju}|)^{\frac{1}{p}} distmk(xi,xj)=(u=1∑n∣xiu−xju∣)p1
p≥1p\geq 1p≥1时,满足上述的距离基本性质
当p=2p=2p=2时,闵可夫斯基距离就是我们熟知的欧式距离(Euclidean distance)
disted(xi,xj)=∣∣xi−xj∣∣2=∑u=1n∣xiu−xju∣2dist_{ed}(x_i,x_j)=||x_i-x_j||_2=\sqrt{\sum_{u=1}^n|x_{iu}-x_{ju}|^2} disted(xi,xj)=∣∣xi−xj∣∣2=u=1∑n∣xiu−xju∣2
当p=1p=1p=1时,闵可夫斯基距离为曼哈顿距离(Manhattan distance)
distman(xi,xj)=∣∣xi−xj∣∣1=∑u=1n∣xiu−xju∣dist_{man}(x_i,x_j)=||x_i-x_j||_1=\sum_{u=1}^n|x_{iu}-x_{ju}| distman(xi,xj)=∣∣xi−xj∣∣1=u=1∑n∣xiu−xju∣
聚类性能度量指标及距离计算相关推荐
- 机器学习之性能度量指标
机器学习的模型性能度量指标 在机器学习中,衡量,评估和选择一个模型好坏是通过一些常见指标实现的,称之为性能指标(Metrics). 对于一个二分类问题,我们首先给出如下基本指标基于这些指标可以推导出其 ...
- 【AI面试题】分类问题常用的性能度量指标(评价指标)
分类问题常用的性能度量指标有精确率.召回率.F1.TPR.FPR. 分类问题度量指标的基础是混淆矩阵: 上表中: TP表示正样本被预测为正样本(真正例,True Positive) FN表示正样本被预 ...
- 分类性能度量指标:准确性(AC)、敏感性(SE)、特异性(SP)、F1评分、ROC曲线、PR(Precision-Recall)曲线、AUC曲线,混淆曲线
一:比较容易理解的比喻 以糖尿病人的筛查为例.第一个钟形代表正常人,第二个钟形代表糖尿病人.理想中,如果正常人和糖尿病人的血糖范围完全没有重合就好了.这样我就把标准定在中间那个最低点.低于此点的,就是 ...
- 分类器性能度量指标之ROC曲线、AUC值
目录 概述 混淆矩阵(Confusion matrix) ROC曲线 AUC(Area under the ROC curve) AUC能拿来干什么 总结 参考资料: 概述 二分类问题在机器学习中是一 ...
- 机器学习之性能度量指标——决定系数R^2、PR曲线、ROC曲线、AUC值、以及准确率、查全率、召回率、f1_score
一.线性回归的决定系数(也称为判定系数,拟合优度) 相关系数是R哈~~~就是决定系数的开方! 正如题所说决定系数是来衡量回归的好坏,换句话说就是回归拟合的曲线它的拟合优度!也就是得分啦~~ 决定系数它 ...
- 机器学习知识点(三十六)分类器性能度量指标f1-score
在用python机器学习库scikit-learn训练模型时,常用f1-score来度量模型性能,下面回顾和学习下这个指标. 内容概要¶ 模型评估的目的及一般评估流程 分类准确率的用处及其限制 混淆矩 ...
- 机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习 快速带你晋级阅读全文> 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分 ...
- 分类性能度量指标:ROC曲线、AUC值、正确率、召回率、敏感度、特异度
在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分的样例比例.实际上,这样的度量错误掩盖了样例如何被分错的事实.在机器学习中,有一个普遍适用的称为混淆矩阵 ...
- 【AI面试题】回归问题常用的性能度量指标(评价指标)
1. 均方误差(MSE) MSE(Mean Square Error):是反映估计值与被估计值之间差异程度的一种度量.公式如下: 2. 均方根误差(RMSE) RMSE(Root Mean Squar ...
最新文章
- 解密京东618大促数据库运维的攻守之道
- Python接口自动化测试框架(基础篇)-- 流程控制之循环语句forwhile
- nodejs文件服务器断点续传,基于Nodejs的大文件上传之断点续传
- linux 套接字选项定义
- 事件模型、事件流(冒泡与捕获)、事件代理
- 禁止复制粘贴_网页禁止复制粘贴? 教你5招, 绕过网页限制, 免费复制全网内容!...
- HTML+CSS+JS实现 ❤️照相机快门图片动画特效❤️
- 946. 验证栈序列
- NXOpen.BlockStyler的一些用法
- 整合Spring与Hibernate
- 5nm及3nm推动 台积电2024及2025年产能将主要集中在台南科学园
- L1-076 降价提醒机器人 (10 分)-PAT 团体程序设计天梯赛 GPLT
- 范德蒙(Vander Monde)行列式的计算与应用
- 【Windows】 rundll32.exe 在 Windows10 上的应用
- JSP七动作---<jsp:setProperty>
- 教你在“狼人杀”中实现变声效果
- MATLAB 剔除异常点
- 程序员的第三次 “创业” 我选择继续开发在线客服系统,终于得到了积极反馈
- 珠海到各大机场的线路
- html5学生大作业,帮同学做的大一大作业:《我的家乡—郑州》 - 梦涵的帅爸爸...