Ridge 岭回归

岭回归在 sklearn中的实现 RidgeClassifier,也称为带有线性核的最小二乘支持向量机。该分类器首先将二进制目标转换为(- 1,1),将问题视为回归任务,优化与上面相同的目标。预测类对应于回归预测的符号,对于多类分类,将问题视为多输出回归,预测类对应的输出值最大。使用最小二乘损失来适应分类模型,RidgeClassifier 使用的惩罚最小二乘损失允许对具有不同计算性能概要的数值求解器进行各自不同的选择。

RidgeClassifier 比 LogisticRegression 快,其只一次计算投影矩阵。

from sklearn.linear_model import RidgeClassifier
RidgeClassifier(alpha=1.0, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=0.001, class_weight=None, solver='auto', random_state=None)

参数:

alpha:float, default=1.0,正则化强度,正浮点数。改进了问题条件,减少了估计的方差。较大的值指定更强的正则化,在其他线性模型中,alpha对应于C^-1,如逻辑回归或线性vc。

fit_intercept:bool, default=True,是否为该模型计算截距。false 表示不使用截距。

normalize:bool, default=False,False 表示忽略该参数。True 则回归前将对回归数 X 进行归一化处理,方法是减去均值再除以 L2-范数。

copy_X:bool, default=True,如果为真,则复制X,否则,它可能被覆盖。

max_iter:int, default=None, 共轭梯度求解器的最大迭代次数。

tol::float, default=1e-3,求解的精度。

class_weight:dict or ‘balanced’, default=None  与{class_label: weight},形式的类相关联的权重。如果没有给出,所有的类都应该有权重1。“平衡”模式使用y的值自动调整权重,与输入数据中的类频率成反比。

solver:‘auto’, ‘svd’, ‘cholesky’, ‘lsqr’, ‘sparse_cg’, ‘sag’, ‘saga’, default=’auto’ , “auto”:根据数据类型自动选择求解器。"svd”:使用 X 的奇异值分解计算系数。对于奇异矩阵比“cholesky”更稳定。"cholesky”:求函数的一个闭型解。“sparse_cg”:使用了在sci .sparse.linalg.cg中找到的共轭梯度求解器。作为一种迭代算法,该求解器比‘cholesky’更适用于大规模数据(可能设置tol和max_iter)。“lsqr”:使用专用的正则化最小二乘例程sci .sparse.linalg.lsqr。它是最快的,并使用迭代过程。"sag":使用的是随机平均梯度下降法,"saga":使用无偏法和更灵活的版本saga。这两种方法都使用迭代过程,当n_samples和n_features都很大时,通常比其他求解器更快。random_state:int, RandomState instance, default=None  在数据变换时使用的伪随机数生成器的种子。如果int, random_state是随机数生成器使用的种子;如果RandomState实例,random_state是随机数生成器;如果没有,随机数生成器就是 np.random 使用的 RandomState 实例。

属性

coef_: ndarray of shape (1, n_features) or (n_classes, n_features)

决策函数中的系数。当给定的问题是二进制时,coef_的形状为(1,n_features)。

intercept_: float or ndarray of shape (n_targets,)

决策函数中的截距(常数项)。如果fit_intercept = False,设置为0.0。

n_iter_: None or ndarray of shape (n_targets,)

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

classes_: ndarray of shape (n_classes,)

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)

RidgeCV

通过内建的 alpha 参数交叉验证实现 ridge 回归。工作方式与GridSearchCV相同,默认使用通用交叉验证(GCV),一种有效的遗漏交叉验证形式。

from sklearn.linear_model import RidgeCV

RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, normalize=False, scoring=None, cv=None, gcv_mode=None, store_cv_values=False)

alpha:array of shape (n_alphas,), default=(0.1, 1.0, 10.0) ,正则化强度,正浮点数。正则化改进了问题的条件,减少了估计的方差。较大的值指定更强的正则化。

scoring:string, callable, default=None,一个字符串或一个有签名的记分器(estimator, X, y)的记分器可调用的对象 / 函数, 如果没有,如果cv为“自动”或没有(即当使用广义交叉验证时),负的均方误差,否则 r2 得分。

cv::int, cross-validation generator or an iterable, default=None,交叉验证分割策略,默认无,可以是整数,指定分割的次数。也可以是一个可迭代的结果(序列,测试)被分割为索引数组。

gcv_mode::{‘auto’, ‘svd’, eigen’}, default=’auto’,标志,指示执行通用交叉验证时使用的策略。

store_cv_values: bool, default=False ,标志,指示与每个alpha相对应的交叉验证值是否应该存储在cv_values_属性中。此标志仅与cv=None兼容(即使用通用交叉验证)

from sklearn.datasets import load_diabetes
from sklearn.linear_model import RidgeCV
X, y = load_diabetes(return_X_y=True)
clf = RidgeCV(alphas=[1e-3, 1e-2, 1e-1, 1]).fit(X, y)
clf.score(X, y)

参考:

岭回归分类器RidgeClassifier及RidgeCV(代码详解)_管牛牛的博客-优快云博客_ridgeclassifier

### 回答1: 岭回归是一种线性回归的方法,它可以解决在样本量少于变量数的情况下出现的过拟合问题。该方法通过在回归中加入L2惩罚项来调整回归系数,从而使得模型更加简洁和平滑。这种方法可以防止变量之间的多重共线性,并且在某些情况下可以提高模型的预测能力。 ### 回答2: 岭回归是一种预测模型,在多元线性回归分析中被用来解决共线性和多重共线性问题。通常,这些问题会导致模型过拟合,即模型捕获了噪声而不是数据背后的真实关系。通过引入正则化项,岭回归可以压缩回归系数,达到减少预测误差和提高模型精度的效果。 岭回归是由Hoerl和Kennard在1970年发明的,其核心思想是在原有的普通最小二乘回归模型的基础上加入一个罚项。该罚项是λ乘以模型参数的平方和,在不同的λ值下,岭回归可以得到多个不同的回归系数。λ的值越大,回归系数就越小,岭回归就越稳定。 另外,岭回归也可以通过最小化残差平方和和惩罚项之和来求解回归系数。这样做相当于是在寻找最优解的同时,限制了参数的大小和方差。因此,岭回归可以在样本量小和特征数目大的情况下得到较为准确的结果,同时也可以处理响应变量和预测变量之间的高度相关的情况。 总的来说,岭回归是一种灵活且有效的回归方法,可以有效地解决共线性和多重共线性问题,提高模型的性能和稳定性。岭回归可以应用于各行各业,例如金融、生物学、医学、社会科学等领域。 ### 回答3: 岭回归是一种线性回归模型,它通过在模型中加入惩罚项,来处理多重共线性问题。多重共线性的问题通常出现在自变量之间存在高度相关性的情况下,它会导致模型估计不稳定、方差很大或完全失效。 在岭回归中,我们通过加入一个惩罚项来避免过多依赖同一组自变量所引起的模型不稳定的问题。迭代求解过程中,我们先对数据进行标准化处理,然后选择一系列不同的正则化参数进行模型训练,最后通过交叉验证来选择一个最佳的正则化参数。最终得到的模型对线性回归进行了改进,提高了其在测试数据中的泛化能力和稳定性。 岭回归与Lasso回归相似,但是它们在选择正则化参数时所使用的惩罚项不同。岭回归使用了L2正则化项,而Lasso回归使用的是L1正则化项。L2正则化项引入了自变量的平方和,而L1正则化项取自变量绝对值之和。这两个方法都可以有效地控制模型的复杂度。 岭回归模型优劣取决于正则化参数的选择。如果选择的正则化参数过小,岭回归就会失去对多重共线性的抑制作用,而过大的正则化参数又会导致模型对数据的拟合程度不佳。在实际应用中,我们往往采用交叉验证来选择最优正则化参数,以确保模型的稳定性和泛化能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值