在数据挖掘的过程当中,只用用到了类似性(如物品之间的类似性、人之间的聚类等),就会涉及到距离的运用。怎样选择合适的距离,对最终数据挖掘的准确性很是关键。所以,这里总结了比较经常使用几种距离算法和经常使用的计算场景,供你们参考:算法
1. 欧拉距离网站
欧拉距离是最经典的一种距离算法,适用于求解两点之间直线的距离,适用于各个向量标准统一的状况,如各类药品的使用量、商品的售销量等。字符串
2. Pearson距离数据挖掘
Pearson是推荐时最经常使用的一种距离,对于评分、喜爱等用户评判标准不同的时候特别有用。能够化为两向量规范化后的乘积,其本质是两个向量是否同升同降。效率
Pearson相关系数:变量
3. 杰卡德距离方法
杰卡德距离在求两个集合的相交程度时比较有用,通常应用于布尔类型的向量中。应用场景,如两首音乐的被共同喜欢的程度、两我的性格的类似程度等im
4. 夹角余弦距离总结
余弦距离不关心向量的长度,而只关心向量的夹角余弦。应用场景,如文本分类时,两文本之间距离计算。数据
夹角余弦距离比pearson距离更加严格。由于对于pearson来讲,就算两个向量之间有夹角,只要其同升同降,其person的相关系数是1,即距离为0。
而对于夹角余统来讲,其距离是他们之间的夹角。
更通俗点来讲,pearson距离跟向量之间是否同升同降有关系,而余弦距离除了跟向量之间是否同升同降有关系外,还跟余弦他们升降的程度有关。
5. 曼哈顿距离
曼哈顿距离,顾名思义,城市街区距离。主要应用场景,如棋盘、城市里两个点之间的距离等
6. 汉明距离
两个字符串之间的距离,用于计算之间的类似度。应用场景如钓鱼网站与正规网站之间类似程度、两做文是否做弊等。
计算方法,把S1变成S2所须要进行替换的最小次数。
7. 马氏距离
马氏距离表示数据的协方差距离。马氏距离与欧氏距离的不一样之处在于,马氏距离考虑了各个维度之间的联系(如身高与体重),而且独立于测量尺度(米、千克等不一样量纲)。
设多变量向量为,多变量均值为,协方差距阵为,则马氏距离为:
能够出,当协方差距阵为单位距离时,马氏距离退化为欧氏距离。
8. 切比雪夫距离
国际象棋棋盘上二个位置间的切比雪夫距离是指王要从一个位子移至另外一个位子须要走的步数。因为王能够往斜前或斜后方向移动一格,所以能够较有效率的到达目的的格子。
若二个向量或二个点p 、and q,其座标分别为p_i及q_i,则二者之间的切比雪夫距离定义以下: