简单线性回归
好长一段时间挺想重新系统的学习回顾下机器学习的知识,看了些深度学习的论文和框架后,觉得机器学习的知识确实太重要了。接下来的半年时间,想系统的总结实践下,也算是2019年的第一个flag吧。
使用单一特征预测响应值
这是一种基于自变量值(X)来预测因变量值(Y)的方法。假设X和Y两个变量是线性相关的。线性回归就是尝试寻找一种根据特征或自变量(X)的线性函数来精确预测响应值(Y)。
怎样找到最佳的拟合线
在这个回归任务中,我们将通过找到“最佳拟合线”来最小化预测误差——回归线应该尽量拟合X-Y的分布,即误差是最小的。例如$y_p$是预测值,$y_i$是实际值,这个过程就是使$y_p$和$y_i$之间的关系满足$min\{SUM(y_i-y_p)^2\}$
这里以学生分数数据集做这个实验,实验数据如下图所示:
实验
数据预处理
- 导入相关库
- 导入数据集
- 检查缺失数据
- 划分数据集
- 特征缩放(这里使用简单线性模型的相关库进行)
通过训练集来训练简单线性回回归模型
为了使用模型来训练数据集,这里使用python中的sklearn.linear_model
库的LinearRegression
类。然后实例化一个LinearRegression
类的regressor
对象。最后使用LinearRegression
类的fit()
方法。将regressor
对象对数据集进行训练。
预测结果
现在将预测来自测试集的观察结果。将实际的输出保存在向量Y_pred
中。使用前一步中训练的回归模型regressor
的LinearRegression
类的预测方法来对结果进行预测。
可视化
为了直观的查看线性回归的效果,这里将对结果进行可视化。使用matplotlib.pyplot
库对我们的训练结果和测试集结果做散点图,以查看模型的预测效果。
1 | #python的数据处理库 |
实验结果
训练集上的拟合结果:
测试集上拟合结果
欢迎关注我的公众号
-------------本文结束感谢您的阅读-------------