ClassifierMixin (original) (raw)
class sklearn.base.ClassifierMixin[source]#
Mixin class for all classifiers in scikit-learn.
This mixin defines the following functionality:
- set estimator type to
"classifier"
through theestimator_type
tag; score
method that default to accuracy_score.- enforce that
fit
requiresy
to be passed through therequires_y
tag, which is done by setting the classifier type tag.
Read more in the User Guide.
Examples
import numpy as np from sklearn.base import BaseEstimator, ClassifierMixin
Mixin classes should always be on the left-hand side for a correct MRO
class MyEstimator(ClassifierMixin, BaseEstimator): ... def init(self, *, param=1): ... self.param = param ... def fit(self, X, y=None): ... self.is_fitted_ = True ... return self ... def predict(self, X): ... return np.full(shape=X.shape[0], fill_value=self.param) estimator = MyEstimator(param=1) X = np.array([[1, 2], [2, 3], [3, 4]]) y = np.array([1, 0, 1]) estimator.fit(X, y).predict(X) array([1, 1, 1]) estimator.score(X, y) 0.66...
score(X, y, sample_weight=None)[source]#
Return the mean accuracy on the given test data and labels.
In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.
Parameters:
Xarray-like of shape (n_samples, n_features)
Test samples.
yarray-like of shape (n_samples,) or (n_samples, n_outputs)
True labels for X
.
sample_weightarray-like of shape (n_samples,), default=None
Sample weights.
Returns:
scorefloat
Mean accuracy of self.predict(X)
w.r.t. y
.