数据挖掘如何计算相关性_数据挖掘|十分钟掌握相似性和相异性度量

本文介绍了数据挖掘中相似度和相异度的概念,它们在聚类、KNN、异常检测和推荐系统中的应用。讨论了相似度与相异度的转换,包括0-1标准化,并列举了不同数据类型的相似度和相异度计算方法,如欧几里得距离、Jaccard系数、余弦相似度和Pearson相关系数。同时强调了在选择度量方法时应考虑数据特性和应用场景。
摘要由CSDN通过智能技术生成

相似性和相异性是数据挖掘中非常重要的概念,在聚类、KNN、异常检测甚至推荐系统中都有广泛的应用。在某些应用场景中,我们需要的就是数据间的相似度或相异性数据而非原始数据。

比如在推荐系统中常用的一个算法是协同过滤,在协同过滤中我们需要计算物品或用户间的相似度矩阵,在得到相似度矩阵之后,我们就可以直接舍弃原始数据了,接下来我们会直接根据相似度矩阵对用户做个性化推荐。

一、相似度和相异度简介

相似度是对两个对象间相似程度的量化,对象间越相似,相似度就越高。

相异度则是对两个对象间相异程度的量化,对象间越相似,相异度就越低。

可以看到,相似度和相异度之间既相互对立,又存在着不可分割的联系。一般来说,它们之间存在某种变换关系,是否进行变换以及将它们变换到什么区间范围内,取决于算法的需要和我们的判断。

变换数值范围

通常情况下,相似度的取值范围在[0,1]之间。假如我们的相似度数据是在[1,10]之间,我们应该如何将它们变换到我们需要的[0,1]范围内呢?一个非常实用的方法是使用“0-1标准化”手段。设min和max分别是相似度数据中的最小值和最大值,那么针对每个相似度s,我们可以通过s′=(s−min)/(max−min)来完成转换。不过有些时候相似度的取值范围可能在[-1,1]之间,这时正负号包含了一定的信息,它们可能是重要的,这种情况下我们可能会保留其符号,而非强行转换到[0,1]之间。

相异度的转换有些复杂,这是因为其取值范围往往在[0,∞]之间,要转换到[0,1]之间的话往往会损失一些信息,甚至其尺度会发生一些变化。这个过程往往需要我们结合算法需要以及具体的场景来仔细斟酌判断。

相似度和相异度之间的转换

相似度和相异度之间是可以相互转换的。比如在相似度取值范围在[0,1]之间时,我们可以用d=1−s来从相似度数据中得到相异度,这时相异度越接近1,代表数据间距离越远;相异度越接近0,代表数据间距离越近。另一种操作方法是直接对相似度取负。一般来说,单调减函数都可以用来完成相似度和相异度间的转换。

单个属性的相似度和相异度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值