sklearn在机器学习中应用-线性回归
[toc]
线性回归
普通线性回归
1 | class sklearn.linear_model.LinearRegression(fit_intercept=True,normalize=False,n_jobs=1) |
参数
fit_intercept
选择是否计算偏置常数bnormalize
拟合前是否归一化
属性
coef_
输出线性回归模型的权重向量wintercept_
输出偏置常数b
方法fit(X_train,y_train)
在训练集上训练模型score(X_test,y_test)
返回模型在测试集上的预测准确率
Lasso回归
1 | class sklearn.linear_model.Lasso(alpha=1.0,fit_intercept=True,normalize=False,precompute=False,max_iter=1000,to1=0.0001,warm_start=False,posiitve=False,selection='cyclic') |
参数
alpha
L1正则化带的常数调节因子fit_intercept
是否计算偏置常数normalize
是否归一化precompute
是否使用预先计算的Gram矩阵来加快计算max_iter
最大迭代次数tol
迭代收敛的阈值warm-start
是否使用前一次训练的结果继续训练positive
是否强制所有权重系数为正selection
迭代时选择哪个权重系数更新
- cycle 从前往后依次选择
- random 随机选择
属性
coef_
intercept_
n_iter_
输出实际迭代次数
方法
fit(X_train,y_train)
score(X_test,y_test)
predict(X)
返回预测值 $\hat{y}$
岭回归 Ridge
1 | class sklearn.linear_model.Ridge(alpha=1.0,fit_intercept=True,normalize=False,max_iter=None,tol=0.001,solver='auto') |
#### 参数alpha
L2正则化前面带的常数调节因子fit_itercept
截距normalize
max_iter
tol
solver
指定求解最优化问题的算法
- svd 奇异值分解计算回归系数
- cholesky 使用标准的scipy.linalg.solve
数求解
- sparse_cg 使用scipy.sparse.linalg.cg
中的共轭梯度求解器求解
- lsqr 使用专门的正则化最小二乘法scipy.sparse.linalg.lsqr
速度快
- sag 使用随机平均梯度下降法求解
属性
coef_
intercept_
n_iter
方法
fit(X_train,y_trian)
score(X_test,y_test)
predict(X)
ElasticNet 回归 弹性网络回归
1 | class sklearn.linear_model.ElasticNet(alpha=1.0,l1_ratio=0.5,fit_intercept=True,normalize=False,precompute=False,max_iter=1000,to1=0.0001,warm_start=False,posiitve=False,selection='cyclic') |
参数
参考Lasso回归
属性
参考Ridge回归
方法
参考Ridge回归
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com
文章标题:sklearn在机器学习中应用-线性回归
本文作者:Espresso
发布时间:2019-12-02, 18:53:40
最后更新:2019-12-02, 19:30:19
原始链接:http://yoursite.com/2019/12/02/sklearn%E5%9C%A8%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E5%BA%94%E7%94%A8-%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。