码迷,mamicode.com
首页 > 编程语言 > 详细

在python中实现线性回归(linear regression)

时间:2018-08-28 20:10:29      阅读:2801      评论:0      收藏:0      [点我收藏+]

标签:pam   梯度下降   swt   define   end   atd   bbb   dba   rod   

1 什么是线性回归

确定因变量与多个自变量之间的关系,将其拟合成线性关系构建模型,进而预测因变量

2 线性回归原理

最小二乘法OLS(ordinary learst squares)

模型的y与实际值y之间误差的平方最小

梯度下降

I don‘t know

3 在python中实现线性回归

import sklearn
from sklearn import linear_model
#导入机器学习 lm
= linear_model.LinearRegression() model = lm.fit(x,y)
#将训练集放入x、y即可训练出模型
x = features
features = [a,b,c,d]

通常x是多个变量的,也可以是由不同特征进行组合成模型,这样模型就可以拥有多个。可以通过对各个模型进行评估来判断究竟那个模型更为合理

为进行评估需要对数据集进行划分为训练集和测试集,在训练集训练模型,测试集评估误差

在评估过程可以将数据集多次划分测试集,通常使用交叉检验,减少随机性,使得数据集中数据都能作为测试集进行评估

 

from sklearn.model_selection import cross_val_score
cross_val_score(lm,x,y,cv = 5,scoring ="neg_mean_absolute_error")
#通常使用他们的平均值衡量
import numpy as np
print(np.mean(cross_val_score(lm,x,y,cv = 5,scoring ="neg_mean_absolute_error"))
  • MAE=技术分享图片,对应的scoring参数为’neg_mean_absolute_error’
  • MSE=技术分享图片/N, 对应的scoring参数为’neg_mean_squared_error’ 

 至此可以通过交叉检验测试不同x组合时各模型的得分,从而选择表现较好的模型进行预测y

model.predict(something)

 

在python中实现线性回归(linear regression)

标签:pam   梯度下降   swt   define   end   atd   bbb   dba   rod   

原文地址:https://www.cnblogs.com/islvgb/p/9550238.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!