8000 Fix fragile test. · r2k0/scikit-learn@2a23fdc · GitHub
[go: up one dir, main page]

8000 Skip to content

Commit 2a23fdc

Browse files
committed
Fix fragile test.
Failed on two of my machines.
1 parent 31d747b commit 2a23fdc

File tree

1 file changed

+8
-18
lines changed

1 file changed

+8
-18
lines changed

sklearn/cluster/tests/test_spectral.py

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
from sklearn.cluster.spectral import spectral_embedding
1919
from sklearn.cluster.spectral import discretize
2020
from sklearn.metrics import pairwise_distances, adjusted_rand_score
21+
from sklearn.metrics import adjusted_rand_score
22+
from sklearn.metrics.pairwise import rbf_kernel
2123
from sklearn.datasets.samples_generator import make_blobs
2224

2325

@@ -131,28 +133,16 @@ def test_spectral_unknown_assign_labels():
131133

132134

133135
def test_spectral_clustering_sparse():
134-
# We need a large matrice, or the lobpcg solver will fallback to its
135-
# non-sparse and buggy mode
136-
S = np.array([[1, 5, 2, 2, 1, 0, 0, 0, 0, 0],
137-
[5, 1, 3, 2, 1, 0, 0, 0, 0, 0],
138-
[2, 3, 1, 1, 1, 0, 0, 0, 0, 0],
139-
[2, 2, 1, 1, 1, 0, 0, 0, 0, 0],
140-
[1, 1, 1, 1, 1, 1, 2, 1, 1, 1],
141-
[0, 0, 0, 0, 1, 2, 2, 3, 3, 2],
142-
[0, 0, 0, 0, 2, 2, 3, 3, 3, 4],
143-
[0, 0, 0, 0, 1, 3, 3, 1, 2, 4],
144-
[0, 0, 0, 0, 1, 3, 3, 2, 1, 4],
145-
[0, 0, 0, 0, 1, 2, 4, 4, 4, 1],
146-
])
136+
X, y = make_blobs(n_samples=20, random_state=0,
137+
centers=[[1, 1], [-1, -1]], cluster_std=0.01)
147138

148-
S = sparse.coo_matrix(S)
139+
S = rbf_kernel(X, gamma=1)
140+
S = np.maximum(S - 1e-4, 0)
141+
S = sparse.coo_matrix(rbf_kernel(X, gamma=1))
149142

150143
labels = SpectralClustering(random_state=0, n_clusters=2,
151144
affinity='precomputed').fit(S).labels_
152-
if labels[0] == 0:
153-
labels = 1 - labels
154-
155-
assert_greater(np.mean(labels == [1, 1, 1, 1, 1, 0, 0, 0, 0, 0]), .89)
145+
assert_equal(adjusted_rand_score(y, labels), 1)
156146

157147

158148
def test_affinities():

0 commit comments

Comments
 (0)
0