首页 > 代码库 > mahout中得距离测度
mahout中得距离测度
假设向量1为(a1,a2,...an)
向量2为(b1,b2,...bn)
1、欧式距离测度
公式为
d=sqrt((a1-b1)^2+(a2-b2)^2+…+(an-bn)^2)
mahout类为EuclideanDistanceMeasure
2、平方欧式距离测度
公式为
d=(a1-b1)^2+(a2-b2)^2+…+(an-bn)^2
mahout类为SquaredEuclideanDistanceMeasure
3、曼哈顿距离测度
公式为
d=|a1-b1|+|a2-b2|+…+|an-bn|
mahout类为ManhattanDistanceMeasure
4、余弦距离测度(将向量看成几何中向量,两个向量的余弦夹角,即为它们的距离)
公式为
d=1-(a1b1+a2b2+…+anbn)/(sqrt(a1^2+a2^2+…+an^2)*sqrt(b1^2+b2^2+…+bn^2))
注意:这种距离测度不考虑两个向量的长度,只关注从原点到这两个点的方向。距离测度范围为(0.0到2.0)
mahout类为CosineDistanceMeasure
5、谷本距离测度
余弦距离测度忽略向量长度,在某些情况下不适应,而谷本距离测度既会考虑向量长度,也会考虑向量夹角
公式为:
d=1-(a1b1+a2b2+…+anbn)/(sqrt(a1^2+a2^2+…+an^2)*sqrt(b1^2+b2^2+…+bn^2)-(a1b1+a2b2+…+anbn))
mahout类为TanimotoDistanceMeasure
6、加权距离测度
此种测度可以修改某一维度的权重,比如在x-y坐标系中希望x方向的影响力加倍,就可以设置该维度权重为2。
mahout类为WeightedDistanceMeasure。
mahout中得距离测度