机器学习(4)岭回归sklearn.linear_model.Ridge
2017-03-10 15:31
267 查看
sklearn.linear_model
.Ridge
class sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=0.001, solver='auto', random_state=None)带有l2正则化的线性最小二乘。
该模型求解回归模型,其中损失函数是线性最小二乘函数,并且正则化由l2范数给出。 也称为Ridge回归或Tikhonov正则化。 该估计器具有对多变量回归的内置支持(即,当y是形状的2d阵列[n_samples,n_targets]时)。
参数
alpha:{float,array-like},shape(n_targets)正则化强度; 必须是正浮点数。 正则化改善了问题的条件并减少了估计的方差。 较大的值指定较强的正则化。 Alpha对应于其他线性模型(如Logistic回归或LinearSVC)中的C^-1。 如果传递数组,则假定惩罚被特定于目标。 因此,它们必须在数量上对应。
copy_X:boolean,可选,默认为True
如果为True,将复制X; 否则,它可能被覆盖。
fit_intercept:boolean
是否计算此模型的截距。 如果设置为false,则不会在计算中使用截距(例如,数据预期已经居中)。
max_iter:int,可选
共轭梯度求解器的最大迭代次数。 对于'sparse_cg'和'lsqr'求解器,默认值由scipy.sparse.linalg确定。 对于'sag'求解器,默认值为1000。
normalize:boolean,可选,默认为False
如果为真,则回归X将在回归之前被归一化。 当fit_intercept设置为False时,将忽略此参数。 当回归量归一化时,注意到这使得超参数学习更加鲁棒,并且几乎不依赖于样本的数量。 相同的属性对标准化数据无效。 然而,如果你想标准化,请在调用normalize = False训练估计器之前,使用preprocessing.StandardScaler处理数据。
solver:{'auto','svd','cholesky','lsqr','sparse_cg','sag'}
用于计算的求解方法:
'auto'根据数据类型自动选择求解器。
'svd'使用X的奇异值分解来计算Ridge系数。对于奇异矩阵比'cholesky'更稳定。
'cholesky'使用标准的scipy.linalg.solve函数来获得闭合形式的解。
'sparse_cg'使用在scipy.sparse.linalg.cg中找到的共轭梯度求解器。作为迭代算法,这个求解器比大规模数据(设置tol和max_iter的可能性)的“cholesky”更合适。
'lsqr'使用专用的正则化最小二乘常数scipy.sparse.linalg.lsqr。它是最快的,但可能不是在旧的scipy版本可用。它还使用迭代过程。
'sag'使用随机平均梯度下降。它也使用迭代过程,并且当n_samples和n_feature都很大时,通常比其他求解器更快。注意,“sag”快速收敛仅在具有近似相同尺度的特征上被保证。您可以使用sklearn.preprocessing的缩放器预处理数据。
所有最后四个求解器支持密集和稀疏数据。但是,当fit_intercept为True时,只有'sag'支持稀疏输入。
新版本0.17支持:随机平均梯度下降解算器。
tol:float
解的精度。
random_state:int seed,RandomState实例或None(默认)
伪随机数生成器的种子,当混洗数据时使用。 仅用于'sag'求解器。
新版本0.17:random_state支持随机平均渐变。
属性
coef_:array,shape(n_features,)或(n_targets,n_features)权重向量。
intercept_:float | array,shape =(n_targets,)
决策函数的独立项,即截距。 如果fit_intercept = False,则设置为0.0。
n_iter_:array或None,shape(n_targets,)
每个目标的实际迭代次数。 仅适用于sag和lsqr求解器。 其他求解器将返回None。在版本0.17中出现。
例子
>>> from sklearn.linear_model import Ridge >>> import numpy as np >>> n_samples, n_features = 10, 5 >>> np.random.seed(0) >>> y = np.random.randn(n_samples) >>> X = np.random.randn(n_samples, n_features) >>> clf = Ridge(alpha=1.0) >>> 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)
方法
decision_function(\ * args,\ * \ * kwargs)DEPRECATED:将在0.19中删除。fit(X,y [,sample_weight])Fit Ridge回归模型
get_params([deep])获取此估计器的参数。
predict(X)使用线性模型进行预测
score(X,y [,sample_weight])返回预测的确定系数R ^ 2。
set_params(\ * \ * params)设置此估计器的参数。
参考
http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge相关文章推荐
- 机器学习(3)线性回归sklearn.linear_model.LinearRegression
- (sklearn)岭回归 sklearn.linear_model.Ridge用法
- python包:sklearn.linear_model.Ridge
- (sklearn)lasso回归linear_model.Lasso()方法
- API详解:sklearn.linear_model.LinearRegression
- sklearn.linear_model——梯度提升树(GBDT)调参小结
- 文本处理时from sklearn import linear_model
- 用sklearn.model_selection.train_test_split进行机器学习数据及划分
- (sklearn)逻辑回归linear_model.LogisticRegression用法
- NTU-Coursera机器学习:linear回归与logistic回归
- sklearn.linear_model.LinearRegression
- 机器学习基础 维基翻译 保序回归 随机森林 Pipeline处理 及简单的sklearn例子 分类:机器学习Sklearn
- [置顶] 【机器学习 sklearn】逻辑斯蒂回归模型--Logistics regression
- Stanford机器学习网络课程---第三讲(续)Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
- Python多元线性回归-sklearn.linear_model,并对其预测结果评估
- sklearn库中的linear_model.LinearRegression
- [sklearn学习]linear_model.LinearRegression
- (sklearn)linear_model.LinearRegression()用法
- 机器学习 李宏毅 L33-Structured Learning-Linear Model
- [sklearn学习]linear_model.LinearRegression