DummyClassifier#

class sklearn.dummy.DummyClassifier(*, strategy='prior', random_state=None, constant=None)[源代码]#

DummyClassifier做出忽略输入特征的预测。

该分类器充当与其他更复杂分类器进行比较的简单基线。

使用 strategy 参数.

所有策略都会做出忽略作为 X 论点 fitpredict .然而,预测通常取决于在 y 参数传递给 fit .

请注意,“分层”和“均匀”策略会导致非确定性预测,可以通过设置 random_state 如果需要,参数。其他策略是自然确定的,一旦拟合,对于任何值,总是返回相同的常量预测。 X .

阅读更多的 User Guide .

Added in version 0.13.

参数:
strategy{“most_frequent”、“previous”、“分层”、“unique”、 “constant”},默认=“previous”

用于生成预测的策略。

  • “most_frequent”: predict 方法始终返回观察到的 y 参数传递给 fit .的 predict_proba 方法返回匹配的单热编码载体。

  • “previous”: predict 方法始终返回观察到的 y 参数传递给 fit (like“most_frequent”)。 predict_proba 始终返回的经验阶级分布 y 也称为经验类别先验分布。

  • “分层”: predict_proba 该方法从由经验类先验概率参数化的多项分布中随机抽样一热载体。的 predict 方法返回在的一热载体中概率为1的类标签 predict_proba .因此,两种方法的每个采样行都是独立且相同分布的。

  • “uniform”:从观察到的唯一类列表中随机均匀生成预测, y ,即每个类别的概率相等。

  • “constant”:始终预测用户提供的constant标签。这对于评估非多数类别的指标很有用。

    在 0.24 版本发生变更: 的默认值 strategy 0.24版本中已更改为“previous”。

random_stateint,RandomState实例或无,默认=无

控制随机性以生成预测时 strategy='stratified'strategy='uniform' .传递int以获得跨多个函数调用的可重复输出。看到 Glossary .

constantint或字符串或类似数组的形状(n_outputs,),默认=无

“恒定”策略预测的显式恒定。此参数仅适用于“恒定”策略。

属性:
classes_形状的nd数组(n_classes,)或此类数组的列表

Unique class labels observed in y. For multi-output classification problems, this attribute is a list of arrays as each output has an independent set of possible classes.

n_classes_int或int列表

每个输出的标签数。

class_prior_形状的nd数组(n_classes,)或此类数组的列表

观察每个班级的频率 y .对于多输出分类问题,这是针对每个输出独立计算的。

n_features_in_int

期间看到的功能数量 fit .

feature_names_in_ :nd形状数组 (n_features_in_ ,)nd数组形状(

Names of features seen during fit. Defined only when X has feature names that are all strings.

n_outputs_int

输出数量。

sparse_output_bool

如果从预测返回的数组是稀疏CSC格式,则为真。如果输入 y 以稀疏格式传递。

参见

DummyRegressor

使用简单规则进行预测的回归器。

示例

>>> import numpy as np
>>> from sklearn.dummy import DummyClassifier
>>> X = np.array([-1, 1, 1, 1])
>>> y = np.array([0, 1, 1, 1])
>>> dummy_clf = DummyClassifier(strategy="most_frequent")
>>> dummy_clf.fit(X, y)
DummyClassifier(strategy='most_frequent')
>>> dummy_clf.predict(X)
array([1, 1, 1, 1])
>>> dummy_clf.score(X, y)
0.75
fit(X, y, sample_weight=None)[源代码]#

适应基线分类器。

参数:
X形状类似阵列(n_samples,n_features)

训练数据。

y形状的类似阵列(n_samples,)或(n_samples,n_outputs)

目标值。

sample_weight形状类似数组(n_samples,),默认=无

样本重量。

返回:
self对象

返回实例本身。

get_metadata_routing()[源代码]#

获取此对象的元数据路由。

请检查 User Guide 关于路由机制如何工作。

返回:
routingMetadataRequest

A MetadataRequest 封装路由信息。

get_params(deep=True)[源代码]#

获取此估计器的参数。

参数:
deep布尔,默认=True

如果为True,将返回此估计量和包含的作为估计量的子对象的参数。

返回:
paramsdict

参数名称映射到其值。

predict(X)[源代码]#

对测试载体X执行分类。

参数:
X形状类似阵列(n_samples,n_features)

测试数据。

返回:
y形状的类似阵列(n_samples,)或(n_samples,n_outputs)

X的预测目标值。

predict_log_proba(X)[源代码]#

返回测试向量X的对数概率估计值。

参数:
X{类阵列,长度或形状有限的对象}

训练数据。

返回:
P形状的ndarray(n_samples,n_classes)或此类数组的列表

返回模型中每个类的样本的对数概率,其中类针对每个输出按算术排序。

predict_proba(X)[源代码]#

测试载体X的返回概率估计。

参数:
X形状类似阵列(n_samples,n_features)

测试数据。

返回:
P形状的ndarray(n_samples,n_classes)或此类数组的列表

返回模型中每个类的样本概率,其中类按算术顺序排列。

score(X, y, sample_weight=None)[源代码]#

返回给定测试数据和标签的平均准确度。

在多标签分类中,这是子集准确度,这是一个苛刻的指标,因为您需要为每个样本正确预测每个标签集。

参数:
X形状无或类似阵列(n_samples,n_features)

测试样本。传递无作为测试样本会产生与传递真实测试样本相同的结果,因为DummyClassifier独立于采样的观察而运行。

y形状的类似阵列(n_samples,)或(n_samples,n_outputs)

真正的标签X。

sample_weight形状类似数组(n_samples,),默认=无

样本重量。

返回:
score浮子

自我预测的平均准确性(X)w.r.t. y.

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') DummyClassifier[源代码]#

请求元数据传递给 fit

请注意,此方法仅适用于以下情况 enable_metadata_routing=True (见 sklearn.set_config ).请参阅 User Guide 关于路由机制如何工作。

The options for each parameter are:

  • True :元数据被请求并传递给 fit 如果提供的话。如果未提供元数据,则会忽略请求。

  • False :未请求元数据,元估计器不会将其传递给 fit .

  • None :不请求元数据,如果用户提供元估计器,则元估计器将引发错误。

  • str :元数据应通过此给定别名而不是原始名称传递给元估计器。

默认 (sklearn.utils.metadata_routing.UNCHANGED )保留现有请求。这允许您更改某些参数的请求,而不是其他参数。

Added in version 1.3.

备注

只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在 Pipeline .否则就没有效果了。

参数:
sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged

元数据路由 sample_weight 参数 fit .

返回:
self对象

更新的对象。

set_params(**params)[源代码]#

设置此估计器的参数。

该方法适用于简单估计器以及嵌套对象(例如 Pipeline ).后者具有以下形式的参数 <component>__<parameter> 以便可以更新嵌套对象的每个组件。

参数:
**paramsdict

估计参数。

返回:
self估计器实例

估计实例。

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') DummyClassifier[源代码]#

请求元数据传递给 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对象

更新的对象。