pairwise_distances提供了与数组X的距离矩阵,但是对于某些输入,结果似乎并不精确。
示例:
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]]这里有一个距离,但只有第一个数字是正确的。
对于我的应用程序来说,如果输出可以是零,尽管有一段距离,这是不可取的。有什么提高精度的好方法吗?
发布于 2014-10-31 11:37:09
我没有探究为什么科学知识给出如此不精确的结果,但它似乎更准确。试试这个:
from scipy.spatial.distance import pdist, squareform
squareform(pdist(X))例如,
X = [[-0.903858372568, -0.5521578], [-0.903858372568, -0.552157821]]给出
array([[ 0.00000000e+00, 2.10000000e-08],
[ 2.10000000e-08, 0.00000000e+00]])https://stackoverflow.com/questions/26672791
复制相似问题