当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn OneVsOneClassifier用法及代码示例


本文简要介绍python语言中 sklearn.multiclass.OneVsOneClassifier 的用法。

用法:

class sklearn.multiclass.OneVsOneClassifier(estimator, *, n_jobs=None)

One-vs-one 多类策略。

该策略包括为每个类对拟合一个分类器。在预测时,选择得票最多的类。由于它需要拟合 n_classes * (n_classes - 1) / 2 分类器,因此该方法通常比 one-vs-the-rest 慢,因为它的 O(n_classes^2) 复杂度。但是,这种方法可能对诸如内核算法之类的算法有利,这些算法不能很好地与 n_samples 一起扩展。这是因为每个单独的学习问题只涉及数据的一小部分,而使用one-vs-the-rest,使用完整的数据集n_classes 次。

在用户指南中阅读更多信息。

参数

estimator估计器对象

实现拟合的估计器对象和decision_function 或predict_proba 之一。

n_jobs整数,默认=无

用于计算的作业数量:n_classes * ( n_classes - 1) / 2 OVO 问题是并行计算的。

None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关详细信息,请参阅词汇表。

属性

estimators_n_classes * (n_classes - 1) / 2 估计器列表

用于预测的估计器。

classes_numpy 形状数组 [n_classes]

包含标签的数组。

n_classes_int

类数。

pairwise_indices_列表,长度 = len(estimators_)None

训练估计器时使用的样本索引。 Noneestimatorpairwise 标签为 False 时。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

例子

>>> from sklearn.datasets import load_iris
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.multiclass import OneVsOneClassifier
>>> from sklearn.svm import LinearSVC
>>> X, y = load_iris(return_X_y=True)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, shuffle=True, random_state=0)
>>> clf = OneVsOneClassifier(
...     LinearSVC(random_state=0)).fit(X_train, y_train)
>>> clf.predict(X_test[:10])
array([2, 1, 0, 2, 0, 2, 0, 1, 1, 1])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.multiclass.OneVsOneClassifier。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。