You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pgi29wjsp/regression_metrics.md

55 lines
2.7 KiB

5 years ago
# 3.2 回归模型性能评估指标
5 years ago
5 years ago
## 3.2.1 MSE
5 years ago
5 years ago
`MSEMean Squared Error`叫做均方误差,其实就是线性回归的损失函数。公式如下:
5 years ago
$$
\frac{1}{m}\sum_{i=1}^m(y^i-p^i)^2
$$
5 years ago
其中$$y^i$$表示第`i`个样本的真实标签,$$p^i$$表示模型对第`i`个样本的预测标签。线性回归的目的就是让损失函数最小。那么模型训练出来了,我们在测试集上用损失函数来评估模型就行了。
5 years ago
5 years ago
## 3.2.2 RMSE
5 years ago
5 years ago
`RMSERoot Mean Squard Error`均方根误差,公式如下:
5 years ago
$$
\sqrt{\frac{1}{m}\sum_{i=1}^m(y^i-p^i)^2}
$$
5 years ago
`RMSE`其实就是**MSE**开个根号。有什么意义呢?其实实质是一样的。只不过用于数据更好的描述。
5 years ago
例如:要做房价预测,每平方是万元,我们预测结果也是万元。那么差值的平方单位应该是千万级别的。那我们不太好描述自己做的模型效果。怎么说呢?我们的模型误差是多少千万?于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的了,在描述模型的时候就说,我们模型的误差是多少万元。
5 years ago
## 3.2.3 MAE
5 years ago
5 years ago
`MAE(Mean Aboslute Error)`,公式如下:
5 years ago
$$
\frac{1}{m}\sum_{i=1}^m|y^i-p^i|
$$
5 years ago
`MAE`虽然不作为损失函数,确是一个非常直观的评估指标,它表示每个样本的预测标签值与真实标签值的`L1`距离。
5 years ago
5 years ago
## 3.2.4 R-Squared
5 years ago
5 years ago
上面的几种衡量标准针对不同的模型会有不同的值。比如说预测房价 那么误差单位就是万元。数子可能是`3``4``5`之类的。那么预测身高就可能是`0.1``0.6`之类的。没有什么可读性,到底多少才算好呢?不知道,那要根据模型的应用场景来。看看分类算法的衡量标准就是正确率,而正确率又在 `01`之间,最高百分之百。最低`0`。如果是负数,则考虑非线性相关。很直观,而且不同模型一样的。那么线性回归有没有这样的衡量标准呢?
5 years ago
5 years ago
`R-Squared`就是这么一个指标,公式如下:
5 years ago
$$
R^2=1-\frac{\sum_i(p^i-y^i)^2}{\sum_i(y_{mean}^i-y^i)^2}
$$
其中$$y_{mean}$$表示所有测试样本标签值的均值。为什么这个指标会有刚刚我们提到的性能呢?我们分析下公式:
5 years ago
<div align=center><img src="./img/71.jpg"/></div>
5 years ago
其实分子表示的是模型预测时产生的误差,分母表示的是对任意样本都预测为所有标签均值时产生的误差,由此可知:
5 years ago
1. $$R^2 \leq1$$,当我们的模型不犯任何错误时,取最大值`1`。
5 years ago
5 years ago
2. 当我们的模型性能跟基模型性能相同时,取`0`。
5 years ago
3. 如果为负数,则说明我们训练出来的模型还不如基准模型,此时,很有可能我们的数据不存在任何线性关系。