机器学习领域几种距离度量方法metric详解
对scipy.spatial.distance.pdist(X, metric='euclidean', *args, **kwargs)中metric的介绍.
【常用的已标红】
1.braycurtis
Bray-Curtis 相异度(Bray-Curtis dissimilarity)是生态学中用来衡量不同样地物种组成差异的测度。其计算基于样本中不同物种组成的数量特征(多度,盖度,重要值等)。
布雷-柯蒂斯相异度介于0和1之间,0意味着两个调查样地的物种组成完全相同,而1则表示两个调查样地的物种组成完全不同。布雷-柯蒂斯相异度经常被误认为是一种距离测度("距离的定义应当基于三角不等式,但是很多差异性的度量并不具有该属性,为了区别这些差异性度量和距离度量,我们称它们为‘相异度’”))。由于它不满足三角不等式,我们应当称之为“相异度”而非“距离”)
布雷-柯蒂斯相异度和雅卡尔指数(英语:Jaccard index)相似,但是由于布雷-柯蒂斯相异度是半度量的,所以雅卡尔指数可能会是更好的选择。
2.canberra
Canberra distance是用来衡量两个向量空间的居间,是Manhattan distance的加权版本,Canberra distance已被用作比较排名列表和计算机安全中的入侵检测的测量。
通常堪培拉距离对于接近于0(大于等于0)的值的变化非常敏感。与马氏距离一样,堪培拉距离对数据的量纲不敏感。不过堪培拉距离假定变量之间相互独立,没有考虑变量之间的相关性。
3.chebyshev
切比雪夫距离(Chebyshev distance)或是L∞度量是向量空间中的一种度量,两个点之间的距离定义为其各坐标数值差的最大值。以(x1,y1)和(x2,y2)两点为例,其切比雪夫距离为max(|x2-x1|,|y2-y1|)。切比雪夫距离得名自俄罗斯数学家切比雪夫。
4.cityblock
出租车几何或曼哈顿距离(Manhattan Distance)是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。
5.correlation
皮尔逊相关系数(英語:Pearson correlation coefficient ,常用r或Pearson's r表示)用于度量两个变量X和Y之间的相关程度(线性相关),其值介于-1与1之间。在自然科学领域中,该系数广泛用于度量两个变量之间的线性相关程度。
皮尔逊距离度量的是两个变量X和Y,它可以根据皮尔逊系数定义成可以发现,皮尔逊系数落在[-1,1],而皮尔逊距离落在 [0,2]。(因此文档钟指的是皮尔逊距离)
6.cosine
余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。这结果是与向量的长度无关的,仅仅与向量的指向方向相关。
余弦相似度通常用于正空间,因此给出的值为0到1之间。注意这上下界对任何维度的向量空间中都适用,而且余弦相似性最常用于高维正空间。
两个向量间的余弦值可以通过使用欧几里得点积公式求出:
给定两个属性向量, A 和B,其余弦相似性θ由点积和向量长度给出:
类似皮尔逊相关系数,为了使得两个变量越相似,度量值越小。因此,这里余弦距离采用1-cos(Θ)。
7.dice
骰子系数(Dice coefficient)是一种集合相似度度量函数,通常用于计算两个样本的相似度:
和Jaccard类似,它的范围为0到1。 与Jaccard不同的是,相应的差异函数
不是一个合适的距离度量措施,因为它没有三角形不等性的性质。与Jaccard类似, 集合操作可以用两个向量 A 和B的操作来表示:
上式给出了两个向量的距离输出,也给出了更一般情况下向量之间的相似度度量措施。 Dice 系数可以计算两个字符串的相似度:Dice(s1,s2)=2*comm(s1,s2)/(leng(s1)+leng(s2))。 其中,comm (s1,s2)是s1、s2 中相同字符的个数leng(s1),leng(s2)是字符串s1、s2 的长度。
8.euclidean
欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。在欧几里得空间中,点x =(x1,...,xn)和 y =(y1,...,yn)之间的欧氏距离为:
9.hamming
在信息论中,两个等长字符串之间的汉明距离(英语:Hamming distance)是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。例如:1011101与1001001之间的汉明距离是2
10.jaccard
Jaccard相似指数用来度量两个集合之间的相似性,它被定义为两个集合交集的元素个数除以并集的元素个数。系数值范围在[0,1],值越大,样本相似度越高。
Jaccard距离用来度量两个集合之间的差异性,它是Jaccard的相似系数的补集,被定义为1减去Jaccard相似系数。距离越小,样本相似度越高。
11.jensenshannon
计算两个一维概率数组之间的Jensen-Shannon距离(度量)。这是Jensen-Shannon散度的平方根。
两个概率向量p和q之间的Jensen-Shannon距离定义为:
其中m是逐点均值,p和q和D是Kullback-Leibler散度。如果p和q的总和不等于1.0,则此例程会将其标准化。
12.kulsinski
库尔辛斯基差异(Kulsinski dissimilarity)计算两个布尔一维数组之间的库尔辛斯基差异。两个布尔一维数组u和v之间的Kulsinski差异定义为
13.mahalanobis
马氏距离(Mahalanobis Distance)是度量学习中一种常用的距离指标,同欧氏距离、曼哈顿距离、汉明距离等一样被用作评定数据之间的相似度指标。但却可以应对高维线性分布的数据中各维度间非独立同分布的问题。马氏距离可以看作是欧氏距离的一种修正,修正了欧式距离中各个维度尺度不一致且相关的问题。
单个数据点的马氏距离:
数据点x, y之间的马氏距离:
其中Σ是多维随机变量的协方差矩阵,μ为样本均值,如果协方差矩阵是单位向量,也就是各维度独立同分布,马氏距离就变成了欧氏距离。
△马氏距离的问题:协方差矩阵必须满秩;不能处理非线性流形(manifold)上的问题
14.matching
15.minkowski
闵可夫斯基距离(Minkowski distance)是衡量数值点之间距离的一种常见的方法。设n维空间中有两点坐标x, y,p为常数,闵式距离定义为:
- 当p=1时,得到绝对值距离,也叫曼哈顿距离(Manhattan distance)、出租汽车距离或街区距离(city block distance)。
- 当p=2时,得到欧几里德距离(Euclidean distance)距离,就是两点之间的直线距离(以下简称欧氏距离)。欧氏距离中各特征参数是等权的。
- 令p→∞切比雪夫距离。
△注意:闵氏距离与特征参数的量纲有关,有不同量纲的特征参数的闵氏距离常常是无意义的。闵氏距离没有考虑特征参数间的相关性,而马哈拉诺比斯距离解决了这个问题。
16.rogerstanimoto
田本罗杰斯差异(Rogers-Tanimoto dissimilarity)
,其中
17.russellrao
拉塞尔差异(Russell-Rao dissimilarity)
18.seuclidean
19.sokalmichener
索卡尔米切纳差异(Sokal-Michener dissimilarity)
,其中,
20.sokalsneath
索卡尔雪差异(Sokal-Sneath dissimilarity)
,其中,
21.sqeuclidean
22.yule
Yule差异(Yule dissimilarity)
,其中,
参考:
[1]百度百科、维基百科
[2][机器学习]常用距离定义与计算
[3]机器学习领域 几种距离度量方法【3】
[4]python scipy spatial.distance.jensenshannon用法及代码示例
[5]python scipy spatial.distance.kulsinski用法及代码示例
[6]马氏距离(Mahalanobis Distance)
机器学习领域几种距离度量方法metric详解相关推荐
- 机器学习领域 几种距离度量方法【3】
十三.堪培拉距离 (Canberra Distance) 十四.布雷柯蒂斯距离(Bray Curtis Distance) 十五.交叉熵(Cross Entropy) 十六.相对熵(relative ...
- 【机器学习基础】常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等
作者|机器之心编译 来源|机器之心 在数据挖掘中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离.在本文中,数据科学家 Maarten Grootendorst 向我们介绍了 9 种 ...
- 数据科学中常见的9种距离度量方法
选自towardsdatascience 作者:Maarten Grootendorst 机器之心编译 编辑:陈萍 在数据挖掘中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离.在本 ...
- 数据科学中常见的9种距离度量方法(包括曼哈顿距离、欧氏距离、半正矢距离等)
数据科学中常见的9种距离度量方法(包括曼哈顿距离.欧氏距离.半正矢距离等) 1.欧氏距离(Euclidean Distance) 2.余弦相似度(Cosine Similarity) 3.汉明距离(H ...
- 10个机器学习中常用的距离度量方法
转载:Deephub Imba 距离度量是有监督和无监督学习算法的基础,包括k近邻.支持向量机和k均值聚类等. 距离度量的选择影响我们的机器学习结果,因此考虑哪种度量最适合这个问题是很重要的.因此,我 ...
- 机器学习案例系列教程——距离度量方法总结
在数据挖掘中,无论是对数据进行分类.聚类还是异常检测.关联性分析,都建立在数据之间相似性或相异性的度量基础上.通常使用距离作为数据之间相似性或相异性的度量方法,常用的度量方法有欧式距离.曼哈顿距离 ...
- 数据科学中常见的9种距离度量方法,包括欧氏距离、切比雪夫距离、半正矢距离等
1.欧氏距离(Euclidean Distance) 欧式距离可解释为连接两个点的线段的长度.欧式距离公式非常简单,使用勾股定理从这些点的笛卡尔坐标计算距离. 代码实现: import numpy a ...
- 数据挖掘中的12种距离度量原理及实现代码
本文介绍了12种常用的距离度量原理.优缺点.应用场景,以及基于Numpy和Scipy的Python实现代码. 笔记工具:Notability 文章目录 1. 个人笔记 2. 代码实现 1)闵可夫斯基距 ...
- 距离度量(Distance Metric)方法
距离度量(Distance Metric)方法 文章目录 距离度量(Distance Metric)方法 1. 向量距离 ⚪ 欧几里得距离 Euclidean Distance ⭐ 计算两组向量的欧氏 ...
- 常见距离度量方法优缺点对比!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 译者:张峰,安徽工业大学,Datawhale成员 许多算法,不管是有监督 ...
最新文章
- android中button点击频率控制
- 「思想钢印」成真!33位中美科学家最新成果:用光成功改变大脑认知
- 004_Spring Data JPA根据实例查询数据
- CAN接口芯片SN65HVD230DR波形
- IDEA的常用快捷键
- Django-ORM数据库操作
- mysql6.10,MySQL经典50题-第6-10题
- 主流的分布式事务解决框架
- vb屏蔽文本框点右键时的弹出菜单
- LeetCode 119. Pascal’s Triangle II
- keil5 mdk安装教程
- 武汉大学信息学部到计算机学院,武汉大学信息科学学部
- linux/windows_powershell/bash_硬链接Hardlink/软连接(符号链接)创建以及注意事项/powershell_获取文件绝对路径/linux符号链接检查
- 矩形碰撞公式,以前还做j2me时就用到的公式,为了方便查找,这里记一下
- 乔布斯的创新故事_创新工作的真实故事
- 打条码软件怎样测试到纸张大小,条码标签纸规格有哪些?如何在打印机上设置打印尺寸?...
- arm开发板(I.MX6U)ping通虚拟机Ubuntu方法
- 喜剧院线电影《大夫我没病》在京开机
- BERT与ERNIE
- H12-821题库详解(301-400)
热门文章
- IB学生可以报考全球顶尖大学,需要多少分?
- pulseaudio如何开通系统日志来debug
- 接口测试是什么接口测试文档规范
- AutoCAD快速入门(二十九):视口
- “剑走偏锋”之CAD的正多边形转化成标准圆
- 夏普PC_1500计算机使用,夏普PC-1500袖珍计算机的检修(续)
- 学籍管理系统设计 mysql_学生学籍管理系统数据库设计及查询.pdf
- android+微信字体大小,关于微信安卓端网页字体适配的通知
- [转]采购订单或采购申请审批状态为IN PROCESS的解决方法
- IndexError: Caught IndexError in DataLoader worker process 0.