Skip to content

Commit 16870ff

Browse files
committed
ENH + DOC set a default scorer in the multiclass module
1 parent ce0484f commit 16870ff

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

sklearn/base.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,12 +270,16 @@ class ClassifierMixin(object):
270270
def score(self, X, y, sample_weight=None):
271271
"""Returns the mean accuracy on the given test data and labels.
272272
273+
In multi-label classification, this is the subset accuracy
274+
which is a harsh metric since you require for each samples that
275+
each label set be correctly predicted.
276+
273277
Parameters
274278
----------
275279
X : array-like, shape = (n_samples, n_features)
276280
Test samples.
277281
278-
y : array-like, shape = (n_samples,)
282+
y : array-like, shape = (n_samples, n_labels)
279283
True labels for X.
280284
281285
sample_weight : array-like, shape = [n_samples], optional
@@ -308,7 +312,7 @@ def score(self, X, y, sample_weight=None):
308312
X : array-like, shape = (n_samples, n_features)
309313
Test samples.
310314
311-
y : array-like, shape = (n_samples,)
315+
y : array-like, shape = (n_samples, n_outputs)
312316
True values for X.
313317
314318
sample_weight : array-like, shape = [n_samples], optional

sklearn/multiclass.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -349,13 +349,6 @@ def multilabel_(self):
349349
"""Whether this is a multilabel classifier"""
350350
return self.label_binarizer_.y_type_.startswith('multilabel')
351351

352-
def score(self, X, y):
353-
if self.multilabel_:
354-
raise NotImplementedError(
355-
"score is not supported for multilabel classifiers")
356-
else:
357-
return super(OneVsRestClassifier, self).score(X, y)
358-
359352
@property
360353
def classes_(self):
361354
return self.label_binarizer_.classes_

0 commit comments

Comments
 (0)