为什么SKLearn的Distance Metric课程没有余弦距离?

时间:2016-07-31 20:53:12

标签: scikit-learn knn

我试图通过余弦距离获得KNN,但看起来公制参数不会占用余弦距离。 http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.DistanceMetric.html仅提供以下指标。这是为什么 ?

用于实值向量空间的度量标准: 标识符类名称args距离函数 “欧几里德”欧几里德距离
sqrt(sum((x - y)^ 2)) “曼哈顿”ManhattanDistance
sum(| x - y |) “切比雪夫”ChebyshevDistance
sum(max(| x - y |)) “minkowski”MinkowskiDistance p sum(| x - y | ^ p)^(1 / p) “wminkowski”WMinkowskiDistance p,w sum(w * | x - y | ^ p)^(1 / p) “seuclidean”SEuclideanDistance V sqrt(总和((x - y)^ 2 / V)) “mahalanobis”MahalanobisDistance V或VI sqrt((x - y)'V ^ -1(x - y)) 用于二维向量空间的度量标准: 标识符类名称距离函数 “hasrsine”HaversineDistance
2 arcsin(sqrt(sin ^ 2(0.5 * dx) COS(X1)COS(×2)罪^ 2(0.5 * DY)))

1 个答案:

答案 0 :(得分:0)

在不满足三角不等式的意义上,余弦距离不是适当的距离。它本身的角度并不代表最短的距离。此处对此进行了很好的描述-https://en.wikipedia.org/wiki/Cosine_similarity。对于K-Means或任何距离类型相似性算法,必须满足距离度量标准(https://en.wikipedia.org/wiki/Metric_(mathematics))。