在回归模型里,线性回归绝对是最简单的,但这并不妨碍它成为回归问题上的佼佼者。对于绝大部分的数据分析场景,线性回归是我们的首选。归其原因,有几点:
- 模型简单且适用于大数据。训练起来也非常快,资源消耗也少。
- 模型本身有非常好的可解释性。通过模型的训练,我们完全可以了解到哪些特征是有效的、哪些特征是无效的。而且,假如模型在线上环境出现了问题,我们也可以快速定位问题的根源是什么。由此可见,模型的可解释性有多么得重要。
线性回归是由两个关键词来构成,分别是“线性“和”回归“。这里的线性指的是它具有线性的决策边界,在二维空间里其实就是一条线。另外,"回归"关键词说明它是用来解决回归类的问题。 这里的一个特例是逻辑回归,它其实是个分类模型。
线性回归的评估标准?
一种最简单的方法就是测量真实值和预测值之间的差异,也叫做误差。假设一条线很好地拟合数据,误差就会变小,反之这个误差就会变大。所以我们需要找的那条线是使得这个误差最小的直线。
我们把这个误差也叫作损失函数(loss function)。有了损失函数之后我们的目标就变成了寻找模型的参数使得这个损失函数值最小。
寻找最优参数其实就是最优化问题, 也称作模型的训练。那如何求解线性回归的最优解呢?
一种最优解的求解方法:把导数设置为零!
这里不写推导过程,那如何用代码实现呢?
# 创建数据集
import numpy as np
data = np.array([[152,51],[156,53],<