RidgeClassifier#

class sklearn.linear_model.RidgeClassifier(alpha=1.0, *, fit_intercept=True, copy_X=True, max_iter=None, tol=0.0001, class_weight=None, solver='auto', positive=False, random_state=None)#

分类器使用岭回归。

该分类器首先将目标值转换为 {-1, 1} ,然后将问题视为回归任务(多类情况下的多输出回归)。

更多信息请参阅 用户指南

Parameters:
alphafloat, default=1.0

正则化强度;必须为正浮点数。正则化改善了问题的条件并减少了估计的方差。较大的值指定更强的正则化。 Alpha 对应于其他线性模型中的 1 / (2C) ,例如 LogisticRegressionLinearSVC

fit_interceptbool, default=True

是否计算此模型的截距。如果设置为 false,则不会在计算中使用截距(例如,数据预期已经中心化)。

copy_Xbool, default=True

如果为 True,将复制 X;否则,可能会覆盖它。

max_iterint, default=None

共轭梯度求解器的最大迭代次数。默认值由 scipy.sparse.linalg 确定。

tolfloat, default=1e-4

解的精度 ( coef_ ) 由 tol 确定,它为每个求解器指定了不同的收敛准则:

  • ‘svd’:tol 无影响。

  • ‘cholesky’:tol 无影响。

  • ‘sparse_cg’: 残差的范数小于 tol

  • ‘lsqr’:tol 设置为 scipy.sparse.linalg.lsqr 的 atol 和 btol, 它们控制残差向量的范数在矩阵和系数的范数中的表示。

  • ‘sag’ 和 ‘saga’: coef 的相对变化小于 tol

  • ‘lbfgs’: 绝对(投影)梯度的最大值=max|residuals| 小于 tol

Changed in version 1.2: 默认值从 1e-3 更改为 1e-4,以便与其他线性模型保持一致。

class_weightdict 或 ‘balanced’, default=None

与类关联的权重,形式为 {class_label: weight} 。 如果未给出,则所有类别的权重均为一。

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

solver{‘auto’, ‘svd’, ‘cholesky’, ‘lsqr’, ‘sparse_cg’, ‘sag’, ‘saga’, ‘lbfgs’}, default=’auto’

计算例程中使用的求解器:

  • ‘auto’ 根据数据类型自动选择求解器。

  • ‘svd’ 使用 X 的奇异值分解来计算岭系数。它是最稳定的求解器, 特别是对于奇异矩阵比 ‘cholesky’ 更稳定,但速度较慢。

  • ‘cholesky’ 使用标准的 scipy.linalg.solve 函数来获得闭式解。

  • ‘sparse_cg’ 使用 scipy.sparse.linalg.cg 中找到的共轭梯度求解器。 作为一种迭代算法,此求解器比 ‘cholesky’ 更适合大规模数据 (可以设置 tolmax_iter )。

  • ‘lsqr’ 使用专用的正则化最小二乘例程 scipy.sparse.linalg.lsqr。 它是最快的,并使用迭代过程。

  • ‘sag’ 使用随机平均梯度下降,’saga’ 使用其无偏且更灵活的版本 SAGA。 这两种方法都使用迭代过程,并且在 n_samples 和 n_features 都很大时通常比其他求解器更快。 注意,’sag’ 和 ‘saga’ 的快速收敛仅在特征具有大致相同的尺度时得到保证。 您可以使用 sklearn.preprocessing 中的缩放器预处理数据。

    Added in version 0.17: 随机平均梯度下降求解器。

    Added in version 0.19: SAGA 求解器。

  • ‘lbfgs’ 使用 scipy.optimize.minimize 中实现的 L-BFGS-B 算法。 只有在 positive 为 True 时才支持使用。

positivebool, default=False

当设置为 True 时,强制系数为正。 只有 ‘lbfgs’ 求解器在此情况下受支持。

random_stateint, RandomState 实例, default=None

solver == ‘sag’ 或 ‘saga’ 时用于打乱数据。 详情请参阅 Glossary

Attributes:
coef_ndarray of shape (1, n_features) or (n_classes, n_features)

决策函数中特征的系数。

coef_ 在给定二分类问题时形状为 (1, n_features)。

intercept_float 或 ndarray of shape (n_targets,)

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

n_iter_None 或 ndarray of shape (n_targets,)

每个目标的实际迭代次数。仅适用于 sag 和 lsqr 求解器。其他求解器将返回 None。

classes_ndarray of shape (n_classes,)

类标签。

n_features_in_int

fit 期间看到的特征数量。

Added in version 0.24.

feature_names_in_ndarray of shape ( n_features_in_ ,)

fit 期间看到的特征名称。仅当 X 的特征名称为所有字符串时定义。

Added in version 1.0.

solver_str

计算例程在拟合时使用的求解器。

Added in version 1.5.

See also

Ridge

岭回归。

RidgeClassifierCV

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

Notes

对于多类分类,在 one-versus-all 方法中训练 n_class 分类器。 具体实现是通过利用 Ridge 中的多变量响应支持来实现的。

Examples

>>> from sklearn.datasets import load_breast_cancer
>>> from sklearn.linear_model import RidgeClassifier
>>> X, y = load_breast_cancer(return_X_y=True)
>>> clf = RidgeClassifier().fit(X, y)
>>> clf.score(X, y)
0.9595...
property classes_#

类标签。

decision_function(X)#

预测样本的置信度分数。

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

Parameters:
X{array-like, sparse matrix},形状为 (n_samples, n_features)

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

Returns:
scoresndarray,形状为 (n_samples,) 或 (n_samples, n_classes)

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

fit(X, y, sample_weight=None)#

拟合岭分类器模型。

Parameters:
X{ndarray, sparse matrix},形状为 (n_samples, n_features)

训练数据。

yndarray,形状为 (n_samples,)

目标值。

sample_weightfloat 或 ndarray,形状为 (n_samples,),默认=None

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

Added in version 0.17: 岭分类器的 sample_weight 支持。

Returns:
selfobject

估计器的实例。

get_metadata_routing()#

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

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

Returns:
routingMetadataRequest

MetadataRequest 封装的 路由信息。

get_params(deep=True)#

获取此估计器的参数。

Parameters:
deepbool, 默认=True

如果为True,将返回此估计器和包含的子对象(也是估计器)的参数。

Returns:
paramsdict

参数名称映射到它们的值。

predict(X)#

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

Parameters:
X{array-like, spare matrix} 形状为 (n_samples, n_features)

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

Returns:
y_predndarray 形状为 (n_samples,) 或 (n_samples, n_outputs)

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

score(X, y, sample_weight=None)#

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

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

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

测试样本。

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

` X`的真实标签。

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

样本权重。

Returns:
scorefloat

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

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') RidgeClassifier#

Request metadata passed to the fit method.

Note that this method is only relevant if enable_metadata_routing=True (see sklearn.set_config ). Please see User Guide on how the routing mechanism works.

The options for each parameter are:

  • True : metadata is requested, and passed to fit if provided. The request is ignored if metadata is not provided.

  • False : metadata is not requested and the meta-estimator will not pass it to fit .

  • None : metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str : metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default ( sklearn.utils.metadata_routing.UNCHANGED ) retains the existing request. This allows you to change the request for some parameters and not others.

Added in version 1.3.

Note

This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a Pipeline . Otherwise it has no effect.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for sample_weight parameter in fit .

Returns:
selfobject

The updated object.

set_params(**params)#

设置此估计器的参数。

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

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') RidgeClassifier#

Request metadata passed to the score method.

Note that this method is only relevant if enable_metadata_routing=True (see sklearn.set_config ). Please see User Guide on how the routing mechanism works.

The options for each parameter are:

  • True : metadata is requested, and passed to score if provided. The request is ignored if metadata is not provided.

  • False : metadata is not requested and the meta-estimator will not pass it to score .

  • None : metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str : metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default ( sklearn.utils.metadata_routing.UNCHANGED ) retains the existing request. This allows you to change the request for some parameters and not others.

Added in version 1.3.

Note

This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a Pipeline . Otherwise it has no effect.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for sample_weight parameter in score .

Returns:
selfobject

The updated object.