在python中实现线性回归(linear regression)
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)
文章来自:https://www.cnblogs.com/islvgb/p/9550238.html