0
scikit-learn函数pairwise_distances提供了数组X的距离矩阵。 但对于某些输入,结果似乎并不准确。Sci-kit学会pairwise_distances是不精确的?
实施例:
from sklearn.metrics.pairwise import pairwise_distances
X = [[-0.903858372568, -0.5521578], [-0.903858372568, -0.55215782]]
print pairwise_distances(X)
给出以下输出:
[[ 0. 0.]
[ 0. 0.]]
虽然的0.00000002的距离。
第二实施例:
X = [[-0.903858372568, -0.5521578], [-0.903858372568, -0.552157821]]
给出
[[ 0.00000000e+00 2.10734243e-08]
[ 2.10734243e-08 0.00000000e+00]]
在这里有一个距离,但仅是校正多达第一位数。
对于我的应用来说,如果尽管有距离,输出可以为零,但并不理想。 有没有提高精度的好方法?
在sklearn的成对距离函数对速度进行了优化。他们将欧氏距离分解成两个范数和一个矩阵积,结果对于数值误差是不稳定的。 – eickenberg 2014-10-31 13:47:46
如果您的应用程序依赖于'2e-7'的差异,您应该认真考虑重新调整您的公式/数据的缩放比例... – eickenberg 2014-10-31 13:48:33
另请参阅[here](https://github.com/scikit-learn/scikit-learn/issues/ 2914) – eickenberg 2014-10-31 13:49:29