Skip to content

Commit 7522f22

Browse files
Added tests for euclidean distances.
1 parent 7192894 commit 7522f22

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

crab/metrics/pairwise.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def check_pairwise_arrays(X, Y):
7878

7979
# Distances
8080
def euclidean_distances(X, Y=None, Y_norm_squared=None, squared=False,
81-
inverse=True):
81+
inverse=False):
8282
"""
8383
Considering the rows of X (and Y=X) as vectors, compute the
8484
distance matrix between each pair of vectors.
@@ -117,16 +117,16 @@ def euclidean_distances(X, Y=None, Y_norm_squared=None, squared=False,
117117
Examples
118118
--------
119119
>>> from crab.metrics.pairwise import euclidean_distances
120-
>>> X = [[2.5, 3.5, 3.0, 3.5, 2.5, 3.0],[3.0, 3.5, 1.5, 5.0, 3.5,3.0]]
120+
>>> X = [[0, 1], [1, 1]]
121121
>>> # distrance between rows of X
122122
>>> euclidean_distances(X, X)
123-
array([[ 1. , 0.29429806],
124-
[ 0.29429806, 1. ]])
123+
array([[ 0., 1.],
124+
[ 1., 0.]])
125125
>>> # get distance to origin
126126
>>> X = [[1.0, 0.0],[1.0,1.0]]
127127
>>> euclidean_distances(X, [[0.0, 0.0]])
128-
array([[ 0.5 ],
129-
[ 0.41421356]])
128+
array([[ 1. ],
129+
[ 1.41421356]])
130130
131131
"""
132132
# should not need X_norm_squared because if you could precompute that as
@@ -173,5 +173,4 @@ def euclidean_distances(X, Y=None, Y_norm_squared=None, squared=False,
173173

174174
return distances if squared else np.sqrt(distances)
175175

176-
177176
euclidian_distances = euclidean_distances # both spelling for backward compat

crab/metrics/tests/test_pairwise.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def test_euclidean_distances():
8686
#Idepontent Test
8787
X = [[2.5, 3.5, 3.0, 3.5, 2.5, 3.0]]
8888
D = euclidean_distances(X, X)
89-
assert_array_almost_equal(D, [[1.]])
89+
assert_array_almost_equal(D, [[0.]])
9090

9191
X = [[2.5, 3.5, 3.0, 3.5, 2.5, 3.0]]
9292
D = euclidean_distances(X, X, inverse=False)
@@ -101,31 +101,31 @@ def test_euclidean_distances():
101101
X = [[2.5, 3.5, 3.0, 3.5, 2.5, 3.0]]
102102
Y = [[3.0, 3.5, 1.5, 5.0, 3.5, 3.0]]
103103
D = euclidean_distances(X, Y)
104-
assert_array_almost_equal(D, [[0.29429806]])
104+
assert_array_almost_equal(D, [[2.39791576]])
105105

106106
#Vector N x 1
107107
X = [[2.5, 3.5, 3.0, 3.5, 2.5, 3.0], [2.5, 3.5, 3.0, 3.5, 2.5, 3.0]]
108108
Y = [[3.0, 3.5, 1.5, 5.0, 3.5, 3.0]]
109109
D = euclidean_distances(X, Y)
110-
assert_array_almost_equal(D, [[0.29429806], [0.29429806]])
110+
assert_array_almost_equal(D, [[2.39791576], [2.39791576]])
111111

112112
#N-Dimmensional Vectors
113113
X = [[2.5, 3.5, 3.0, 3.5, 2.5, 3.0], [2.5, 3.5, 3.0, 3.5, 2.5, 3.0]]
114114
Y = [[3.0, 3.5, 1.5, 5.0, 3.5, 3.0], [2.5, 3.5, 3.0, 3.5, 2.5, 3.0]]
115115
D = euclidean_distances(X, Y)
116-
assert_array_almost_equal(D, [[0.29429806, 1.], [0.29429806, 1.]])
116+
assert_array_almost_equal(D, [[2.39791576, 0.], [2.39791576, 0.]])
117117

118118
X = [[2.5, 3.5, 3.0, 3.5, 2.5, 3.0], [3.0, 3.5, 1.5, 5.0, 3.5, 3.0]]
119119
D = euclidean_distances(X, X)
120-
assert_array_almost_equal(D, [[1., 0.29429806], [0.29429806, 1.]])
120+
assert_array_almost_equal(D, [[0., 2.39791576], [2.39791576, 0.]])
121121

122122
X = [[1.0, 0.0], [1.0, 1.0]]
123123
Y = [[0.0, 0.0]]
124124
D = euclidean_distances(X, Y)
125-
assert_array_almost_equal(D, [[0.5], [0.41421356]])
125+
assert_array_almost_equal(D, [[1.], [1.41421356]])
126126

127127
#Test Sparse Matrices
128128
X = csr_matrix(X)
129129
Y = csr_matrix(Y)
130130
D = euclidean_distances(X, Y)
131-
assert_array_almost_equal(D, [[1., 2.]])
131+
assert_array_almost_equal(D, [[1.], [1.41421356]])

0 commit comments

Comments
 (0)