RidgeClassifierCV#

class sklearn.linear_model.RidgeClassifierCV(alphas=(0.1, 1.0, 10.0), *, fit_intercept=True, scoring=None, cv=None, class_weight=None, store_cv_results=False)[源代码]#

带有内置交叉验证的岭分类器。

请参阅交叉验证估计器的术语表条目。

默认情况下,它执行留一法交叉验证。目前,只有 n_features > n_samples 的情况得到了高效处理。

用户指南中了解更多信息。

参数:
alphas形状为 (n_alphas,) 的类数组,默认值=(0.1, 1.0, 10.0)

要尝试的 alpha 值数组。正则化强度;必须是正浮点数。正则化改善了问题的条件性并降低了估计的方差。较大的值指定更强的正则化。在其他线性模型(例如LogisticRegressionLinearSVC)中,alpha 对应于1 / (2C)。如果使用留一法交叉验证,alpha 必须严格为正。

fit_intercept布尔型,默认值=True

是否为该模型计算截距。如果设置为 False,则计算中不使用截距(即数据应以中心为准)。

scoring字符串,可调用对象,默认值=None

用于交叉验证的评分方法。选项

  • 字符串: 有关选项,请参阅字符串名称评分器

  • 可调用对象: 具有签名scorer(estimator, X, y)的评分可调用对象(例如,函数)。有关详细信息,请参阅可调用评分器

  • None: 如果 cv 为 None(即使用留一法交叉验证时),则为负均方误差,否则为准确率

cv整型,交叉验证生成器或可迭代对象,默认值=None

确定交叉验证的拆分策略。cv 的可能输入为

  • None,使用高效的留一法交叉验证

  • 整型,指定折叠数量。

  • CV 拆分器,

  • 一个可迭代对象,生成 (train, test) 拆分,作为索引数组。

请参阅用户指南,了解此处可使用的各种交叉验证策略。

class_weight字典或“balanced”,默认值=None

与类关联的权重,形式为{class_label: weight}。如果未给出,则所有类的权重都假定为 1。

“balanced”模式使用 y 的值自动调整权重,使其与输入数据中类频率成反比,即n_samples / (n_classes * np.bincount(y))

store_cv_results布尔型,默认值=False

指示是否应将每个 alpha 对应的交叉验证结果存储在cv_results_属性中(见下文)的标志。此标志仅与cv=None兼容(即使用留一法交叉验证)。

版本 1.5 中的变化: 参数名从store_cv_values更改为store_cv_results

属性:
cv_results_形状为 (n_samples, n_targets, n_alphas) 的 ndarray,可选

每个 alpha 的交叉验证结果(仅当store_cv_results=Truecv=None时)。在调用fit()之后,如果scoring is None,此属性将包含均方误差,否则将包含标准化的每点预测值。

版本 1.5 中的变化: cv_values_更改为cv_results_

coef_形状为 (1, n_features) 或 (n_targets, n_features) 的 ndarray

决策函数中特征的系数。

当给定问题是二元时,coef_的形状为 (1, n_features)。

intercept_浮点型或形状为 (n_targets,) 的 ndarray

决策函数中的独立项。如果fit_intercept = False,则设置为 0.0。

alpha_浮点型

估计的正则化参数。

best_score_浮点型

具有最佳 alpha 的基础估计器的得分。

在版本 0.23 中添加。

classes_形状为 (n_classes,) 的 ndarray

类标签。

n_features_in_整型

拟合期间看到的特征数量。

在版本 0.24 中添加。

feature_names_in_形状为 (n_features_in_,) 的 ndarray

拟合期间看到的特征名称。仅当X的特征名称均为字符串时才定义。

在版本 1.0 中添加。

另请参阅

Ridge

岭回归。

RidgeClassifier

岭分类器。

RidgeCV

带内置交叉验证的岭回归。

备注

对于多类别分类,使用一对多方法训练 n_class 分类器。具体而言,这是通过利用 Ridge 中对多变量响应的支持来实现的。

示例

>>> from sklearn.datasets import load_breast_cancer
>>> from sklearn.linear_model import RidgeClassifierCV
>>> X, y = load_breast_cancer(return_X_y=True)
>>> clf = RidgeClassifierCV(alphas=[1e-3, 1e-2, 1e-1, 1]).fit(X, y)
>>> clf.score(X, y)
0.9630...
decision_function(X)[源代码]#

预测样本的置信分数。

样本的置信分数与该样本到超平面的有符号距离成正比。

参数:
X形状为 (n_samples, n_features) 的 {类数组,稀疏矩阵}

我们想要获取置信分数的数据矩阵。

返回:
scores形状为 (n_samples,) 或 (n_samples, n_classes) 的 ndarray

每个(n_samples, n_classes)组合的置信分数。在二元情况下,self.classes_[1]的置信分数,其中 >0 表示将预测此类别。

fit(X, y, sample_weight=None, **params)[源代码]#

使用 cv 拟合岭分类器。

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

训练向量,其中n_samples是样本数量,n_features是特征数量。当使用 GCV 时,如有必要,将转换为 float64。

y形状为 (n_samples,) 的 ndarray

目标值。如有必要,将转换为 X 的 dtype。

sample_weight浮点型或形状为 (n_samples,) 的 ndarray,默认值=None

每个样本的独立权重。如果给定一个浮点数,则每个样本将具有相同的权重。

**params字典,默认值=None

将传递给底层评分器的参数。

在版本 1.5 中添加: 仅当enable_metadata_routing=True时可用,可以通过使用sklearn.set_config(enable_metadata_routing=True)设置。有关详细信息,请参阅元数据路由用户指南

返回:
self对象

已拟合的估计器。

get_metadata_routing()[源代码]#

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

请查看用户指南,了解路由机制的工作原理。

在版本 1.5 中添加。

返回:
routingMetadataRouter

一个封装路由信息的MetadataRouter

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

获取此估计器的参数。

参数:
deep布尔型,默认值=True

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

返回:
params字典

参数名称映射到其值。

predict(X)[源代码]#

预测X中样本的类别标签。

参数:
X形状为 (n_samples, n_features) 的 {类数组,稀疏矩阵}

我们想要预测目标的数据矩阵。

返回:
y_pred形状为 (n_samples,) 或 (n_samples, n_outputs) 的 ndarray

包含预测的向量或矩阵。在二元和多类别问题中,这是一个包含n_samples的向量。在多标签问题中,它返回一个形状为(n_samples, n_outputs)的矩阵。

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

返回给定数据和标签上的准确率

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

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

测试样本。

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

X的真实标签。

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

样本权重。

返回:
score浮点型

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

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

请求传递给fit方法的元数据。

请注意,此方法仅在enable_metadata_routing=True时相关(参阅sklearn.set_config)。请参阅用户指南,了解路由机制的工作原理。

每个参数的选项为

  • True: 请求元数据,如果提供则传递给fit。如果未提供元数据,则忽略该请求。

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

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

  • str: 应将元数据以给定别名而非原始名称传递给元估计器。

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

在版本 1.3 中添加。

注意

此方法仅在将此估计器用作元估计器的子估计器时才相关,例如在Pipeline内部使用时。否则,它没有效果。

参数:
sample_weight字符串,True,False 或 None,默认值=sklearn.utils.metadata_routing.UNCHANGED

fit方法中sample_weight参数的元数据路由。

返回:
self对象

更新后的对象。

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

设置此估计器的参数。

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

参数:
**params字典

估计器参数。

返回:
self估计器实例

估计器实例。

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

请求传递给score方法的元数据。

请注意,此方法仅在enable_metadata_routing=True时相关(参阅sklearn.set_config)。请参阅用户指南,了解路由机制的工作原理。

每个参数的选项为

  • True: 请求元数据,如果提供则传递给score。如果未提供元数据,则忽略该请求。

  • False: 不请求元数据,并且元估计器不会将其传递给score

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

  • str: 应将元数据以给定别名而非原始名称传递给元估计器。

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

在版本 1.3 中添加。

注意

此方法仅在将此估计器用作元估计器的子估计器时才相关,例如在Pipeline内部使用时。否则,它没有效果。

参数:
sample_weight字符串,True,False 或 None,默认值=sklearn.utils.metadata_routing.UNCHANGED

score方法中sample_weight参数的元数据路由。

返回:
self对象

更新后的对象。