OutputCodeClassifier#
- class sklearn.multiclass.OutputCodeClassifier(estimator, *, code_size=1.5, random_state=None, n_jobs=None)[源代码]#
(错误更正)输出代码多类策略。
基于输出代码的策略包括用二进制代码(0和1的数组)表示每个类。在匹配时,代码本中的每个比特都匹配一个二进制分类器。 在预测时,使用分类器在类空间中投影新点,并选择最接近这些点的类。这些策略的主要优点是,所使用的分类器的数量可以由用户控制,或者用于压缩模型(0 <
code_size
< 1)或使模型对错误更鲁棒 (code_size
> 1)。有关更多详细信息,请参阅文档。阅读更多的 User Guide .
- 参数:
- estimator估计器对象
实现的估计器对象 fit 之一 decision_function 或 predict_proba .
- code_sizefloat,默认=1.5
用于创建代码簿的类数量的百分比。0和1之间的数字需要的分类器比1和其余数字更少。大于1的数字将需要比1更多的分类器。
- random_stateint,RandomState实例,默认=无
用于初始化码本的生成器。传递一个int值,以便在多个函数调用中获得可重复的输出。看到 Glossary .
- n_jobsint,默认=无
用于计算的作业数量:多类问题并行计算。
None
意思是1,除非在a中joblib.parallel_backend
上下文-1
意味着使用所有处理器。看到 Glossary 了解更多详细信息。
- 属性:
- estimators_ :列表
int(n_classes * code_size)
估计列表 用于预测的估计器。
- classes_形状的nd数组(n_classes,)
包含标签的数组。
- code_book_ :ndray形状(n_classes,
len(estimators_)
)形状的nd数组(n_classes, 包含每个类代码的二进制数组。
- n_features_in_int
期间看到的功能数量 fit .仅在基础估计器在适合时暴露此类属性时才定义。
Added in version 0.24.
- feature_names_in_ :nd形状数组 (
n_features_in_
,)nd数组形状( 期间看到的要素的名称 fit .仅在基础估计器在适合时暴露此类属性时才定义。
Added in version 1.0.
- estimators_ :列表
参见
OneVsRestClassifier
一对所有多类策略。
OneVsOneClassifier
一对一的多类策略。
引用
[1]“通过错误纠正输出代码解决多类学习问题”,Dietterich T.,巴基里G.,人工智能研究杂志2,1995年。
[2]“错误编码方法和PICT”,James G.,Hastie T.《计算和图形统计学杂志》7,1998年。
[3]“统计学习的要素”,Hastie T.,蒂布希拉尼河,弗里德曼·J,第606页(第二版)2008年。
示例
>>> from sklearn.multiclass import OutputCodeClassifier >>> from sklearn.ensemble import RandomForestClassifier >>> from sklearn.datasets import make_classification >>> X, y = make_classification(n_samples=100, n_features=4, ... n_informative=2, n_redundant=0, ... random_state=0, shuffle=False) >>> clf = OutputCodeClassifier( ... estimator=RandomForestClassifier(random_state=0), ... random_state=0).fit(X, y) >>> clf.predict([[0, 0, 0, 0]]) array([1])
- fit(X, y, **fit_params)[源代码]#
适合基础估计值。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
数据
- y形状类似阵列(n_samples,)
多类目标。
- **fit_paramsdict
参数传递给
estimator.fit
每个子估计器的方法。Added in version 1.4: 仅在以下情况下可用
enable_metadata_routing=True
.看到 Metadata Routing User Guide 了解更多详细信息。
- 返回:
- self对象
返回适合的自我实例。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
Added in version 1.4.
- 返回:
- routingMetadataRouter
A
MetadataRouter
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- predict(X)[源代码]#
使用基本估计量预测多类别目标。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
数据
- 返回:
- y形状的nd数组(n_samples,)
预测多类目标。
- score(X, y, sample_weight=None)[源代码]#
返回给定测试数据和标签的平均准确度。
在多标签分类中,这是子集准确度,这是一个苛刻的指标,因为您需要为每个样本正确预测每个标签集。
- 参数:
- X形状类似阵列(n_samples,n_features)
测试样本。
- y形状的类似阵列(n_samples,)或(n_samples,n_outputs)
真正的标签
X
.- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- 返回:
- score浮子
平均准确度
self.predict(X)
w.r.t.y
.
- set_params(**params)[源代码]#
设置此估计器的参数。
该方法适用于简单估计器以及嵌套对象(例如
Pipeline
).后者具有以下形式的参数<component>__<parameter>
以便可以更新嵌套对象的每个组件。- 参数:
- **paramsdict
估计参数。
- 返回:
- self估计器实例
估计实例。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') OutputCodeClassifier [源代码]#
请求元数据传递给
score
法请注意,此方法仅适用于以下情况
enable_metadata_routing=True
(见sklearn.set_config
).请参阅 User Guide 关于路由机制如何工作。The options for each parameter are:
True
:元数据被请求并传递给score
如果提供的话。如果未提供元数据,则会忽略请求。False
:未请求元数据,元估计器不会将其传递给score
.None
:不请求元数据,如果用户提供元估计器,则元估计器将引发错误。str
:元数据应通过此给定别名而不是原始名称传递给元估计器。
默认 (
sklearn.utils.metadata_routing.UNCHANGED
)保留现有请求。这允许您更改某些参数的请求,而不是其他参数。Added in version 1.3.
备注
只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在
Pipeline
.否则就没有效果了。- 参数:
- sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged
元数据路由
sample_weight
参数score
.
- 返回:
- self对象
更新的对象。