基于numpy的实现代码传送门
回归模型一般直接使用代价函数作为模型评估指标
1. MAE
平均绝对误差(Mean Absolute Error,MAE) \[ M A E=\frac{1}{N} \sum_{i=1}^{N}\left|f_{i}-y_{i}\right| \]
2. MSE
均方误差(Mean Squared Error,MSE) \[ M S E=\frac{1}{N} \sum_{i=1}^{N}\left(f_{i}-y_{i}\right)^{2} \]
3. R-square
决定系数 \[ R^{2}=1-\frac{\sum_i\left(y_i-f_i\right)^{2}}{\sum_i\left(y_i- \overline{y}\right)^{2}} \] 其中,\(\overline{y}\) 为真实样本的均值
分母理解为原始数据的离散程度,分子为预测数据和原始数据的误差,二者相除可以消除原始数据离散程度的影响
其实“决定系数”是通过数据的变化来表征一个拟合的好坏。
理论上取值范围\((-\infty,1]\), 正常取值范围为\([0,1]\),实际操作中通常会选择拟合较好的曲线计算R-square,因此很少出现负无穷情况
R-square越接近1,表明方程的变量对y的解释能力越强,这个模型对数据拟合的也较好
R-square越接近0,表明模型拟合的越差
一般大于0.4的模型拟合效果比较好
缺点:数据集的样本越大,R-square越大,因此,不同数据集的模型结果比较会有一定的误差
4. Adjusted R-Square
校正决定系数 \[ R_a^2 = 1-\frac{\left(1-R^{2}\right)(N-1)}{N-n-1} \] 其中,\(R^2\) 表示R-square,\(N\)为样本数量,\(n\)为特征数量
对比R-Square,其消除了样本数量和特征数量的影响