ClassifierMixin#

class sklearn.base.ClassifierMixin[source]#

scikit-learn 中所有分类器的混合类。

此混合类定义了以下功能:

  • 通过 estimator_type 标签将估计器类型设置为 "classifier"

  • score 方法默认为 accuracy_score

  • 通过设置分类器类型标签,强制 fit 方法需要传入 y,这通过 requires_y 标签实现。

用户指南中阅读更多内容。

示例

>>> 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]#

返回所提供数据和标签上的准确率

在多标签分类中,这是子集准确率,它是一个严苛的指标,因为它要求每个样本的每个标签集都正确预测。

参数:
X形状为 (n_samples, n_features) 的类数组

测试样本。

y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组

X 的真实标签。

sample_weight形状为 (n_samples,) 的类数组,默认值=None

样本权重。

返回:
score浮点数

self.predict(X) 相对于 y 的平均准确率。