sklearn 中的Ridge函数

语法:

 Ridge(alpha=1.0, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=1e-3, solver=”auto”, random_state=None)

类型:

  sklearn.linear_model.ridge模块中的函数,是Ridge类,线性最小二乘L2正则化。该模型求解了线性最小二乘函数和L2正则化的回归模型。也称为岭回归或者Tikhonov 正则化。该估计其内置了对多变量回归的支持,多变量回归的例子是y是一个二维数组[n_samples,n_target]。

 在用户指导手册中查阅更多。

输入参数

  • 参数名:alpha
  • 类型:{float, array-like}, shape (n_targets)
  • 说明:正则化力度,必须是一个正浮点数。正则化提升了问题的条件,减少了估计器的方差。较大的值指定了更强的正则化。在其他模型,比如LogisticRegression 或者LinearSVC, α α 对应 C1 C − 1 。如果传递了一个数组,则假定对目标进行了特定惩罚,因此,它们必须在数值上一直,即数量等于特征数量。

  • 参数名:fit_intercept
  • 类型:boolean
  • 说明:是否计算该模型的截距。如果设置为False,将不会在计算中使用截距(比如,预处理数据已经中心化)

  • 参数名:normalize
  • 类型: boolean, optional, default False
  • 说明:当fit_intercept设置为False时,该参数将会被忽略。如果为True,则回归前,回归变量X将会进行归一化,减去均值,然后除以L2范数。如果想要标准化,请在评估器(normalize参数为False)调用fit方法前调用sklean.preprocessing.StandardScaler,

  • 参数名:copy_X
  • 类型:boolean, optional, default True
  • 说明:如果是True,x将被复制,否则,有可能被覆盖。

  • 参数名:max_iter
  • 类型: int, optional
  • 说明:共轭梯度求解器的最大迭代次数。对于‘sparse_cg’ 和 ‘lsqr’ 求解器,默认值由 scipy.sparse.linalg确定。对于‘sag’求解器,默认值是1000。

  • 参数名:tol
  • 类型:float
  • 说明:求解方法精度

  • 参数名:solver
  • 类型: {‘auto’, ‘svd’, ‘cholesky’, ‘lsqr’, ‘sparse_cg’, ‘sag’, ‘saga’}
  • 说明:计算例程中使用的求解程序
名称 说明
auto 根据数据类型自动选择求解器
svd 利用X的奇异值分解来计算脊系数。对于奇异矩阵比“cholesky”更稳定。
cholesky 使用标准scipy.linalg.solve去得到一个闭合解
sparse_cg 使用在scipy.sparse.linalg.cg中发现的共轭梯度求解器。作为一种迭代算法,这个求解器比“cholesky”更适合于大规模数据(可以设置tol和max_iter)。
lsqr 使用专用正规化最小二乘的常规scipy.sparse.linalg.lsqr。它是最快的,但可能不能用旧的scipy版本。它还使用了一个迭代过程。
sag saga使用随机平均梯度下降改进的,没有偏差的版本,名字为SAGA。这两种方法都使用可迭代的过程,当n_samples和n_feature都很大时,它们通常比其他解决程序更快。 请注意,“sag”和“saga”快速收敛只在具有大致相同规模的特性上得到保证。您可以通过sklearn.preprocessing对数据进行预处理。

最后的五个解决方案都支持密集和稀疏数据。然而,当fit_intercept是真的时,只有“sag”和“saga”支持稀疏输入。

在版本0.17更新的地方:Stochastic Average Gradient descent solver.

在版本0.19更新的地方:SAGA solver.


  • 参数名:random_state *
  • 类型:int, RandomState instance or None, optional, default None
  • 说明:在对数据进行变换时使用伪随机数生成器的种子。如果int, random_state是随机数生成器使用的种子;如果随机状态实例,random_state是随机数发生器;如果没有,随机数生成器就是np.random使用的随机状态实例。当solver == ’ sag ‘时使用。 新版本0.17 : random_state支持随机平均梯度(Stochastic Average Gradient).

属性

  • 参数名:coef_
  • 类型:array, shape (n_features,) or (n_targets, n_features)
  • 说明:权重向量

  • 参数名:intercept_
  • 类型: float | array, shape = (n_targets,)
  • 说明:决策函数中的独立项,即截距,如果fit_intercept=False,则设置为0

  • 参数名:n_iter_
  • 类型:array or None, shape (n_targets,)
  • 说明:每个目标的实际迭代次数。只能用于sag和lsqr求解器。其他求解器将返回None。

 最新版本是0.17

参阅

 RidgeClassifier, RidgeCV, sklearn.kernel_ridge.KernelRidge

例子

# 导入Ridge包
from sklearn.linear_model import Ridge
# 导入numpy
import numpy as np
# 定义样本数,特征数
n_samples, n_features = 10, 5
# 设置随机种子
np.random.seed(0)
# 初始化x
y = np.random.randn(n_samples)
# 初始化y
X = np.random.randn(n_samples, n_features)
# 实例化Ridge对象
clf = Ridge(alpha=1.0)
# 训练Ridge对象
clf.fit(X, y)
运算结果:
Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,
      normalize=False, random_state=None, solver='auto', tol=0.001)

你可能感兴趣的:(python编程)