Skip to content

Commit c7566ea

Browse files
zhaofeng-shu33ogrisel
authored andcommitted
disallow input as sparse matrix in affinity propagation function, Aff… (scikit-learn#13828)
1 parent 69eb4d4 commit c7566ea

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

sklearn/cluster/affinity_propagation_.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,11 @@ def fit(self, X, y=None):
364364
y : Ignored
365365
366366
"""
367-
X = check_array(X, accept_sparse='csr')
367+
if self.affinity == "precomputed":
368+
accept_sparse = False
369+
else:
370+
accept_sparse = 'csr'
371+
X = check_array(X, accept_sparse=accept_sparse)
368372
if self.affinity == "precomputed":
369373
self.affinity_matrix_ = X
370374
elif self.affinity == "euclidean":

sklearn/cluster/tests/test_affinity_propagation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ def test_affinity_propagation():
6363
assert_raises(ValueError, affinity_propagation, S, damping=0)
6464
af = AffinityPropagation(affinity="unknown")
6565
assert_raises(ValueError, af.fit, X)
66-
66+
af_2 = AffinityPropagation(affinity='precomputed')
67+
assert_raises(TypeError, af_2.fit, csr_matrix((3, 3)))
6768

6869
def test_affinity_propagation_predict():
6970
# Test AffinityPropagation.predict

0 commit comments

Comments
 (0)