1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > scikit-learn实现回归问题的评估指标:MSE MAE MAPE RMSE R-Squared SMAPE

scikit-learn实现回归问题的评估指标:MSE MAE MAPE RMSE R-Squared SMAPE

时间:2020-05-15 03:39:01

相关推荐

scikit-learn实现回归问题的评估指标:MSE MAE  MAPE RMSE  R-Squared SMAPE

前言:

分类问题的评价指标是准确率,而回归问题的评价指标就是MAE, MAPE, MSE, RMSE, R2_Score,SMAPE这几种误差。

当然回归问题就是预测。现在假设:

在此基础上,先看看这几种误差具体的公式,想看scikit-learn实现,直接最后。

目录

1、MSE 均方误差(Mean Square Error)2、RMSE 均方根误差(Root Mean Square Error)3、MAE 平均绝对误差(Mean Absolute Error)4、MAPE 平均绝对百分比误差(Mean Absolute Percentage Error)5、R_Squared6、SMAPE 对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)7、scikit-learn中实现:

1、MSE 均方误差(Mean Square Error)

2、RMSE 均方根误差(Root Mean Square Error)

就是上面的MSE加了个根号,这样数量级上比较直观,比如RMSE=2,可以认为回归效果相比真实值平均相差2

3、MAE 平均绝对误差(Mean Absolute Error)

4、MAPE 平均绝对百分比误差(Mean Absolute Percentage Error)

5、R_Squared

看看分类算法的衡量标准就是正确率,而正确率又在0~1之间,最高百分之百,最低0。很直观,而且不同模型一样的。那么线性回归有没有这样的衡量标准呢?答案是有的。那就是R_Squared,也就R方。

6、SMAPE 对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)

7、scikit-learn中实现:

这些评价指标基本都在 sklearn 包中都封装好了,可直接调用。安装 sklearn, 完整的名字是 scikit-learn。

pip install -U scikit-learn

# MSE, MAE, R2, RMSEimport numpy as npfrom sklearn.metrics import mean_squared_error #MSEfrom sklearn.metrics import mean_absolute_error #MAEfrom sklearn.metrics import r2_score#R 2#调用mean_squared_error(y_test,y_predict)mean_absolute_error(y_test,y_predict)np.sqrt(mean_squared_error(y_test,y_predict)) # RMSE就是对MSE开方即可r2_score(y_test,y_predict)

我试了一下,MAPE 在V0.23.1中还不能直接调用,下面是自己写的。

# MAPE和SMAPEdef mape(y_true, y_pred):return np.mean(np.abs((y_pred - y_true) / y_true)) * 100def smape(y_true, y_pred):return 2.0 * np.mean(np.abs(y_pred - y_true) / (np.abs(y_pred) + np.abs(y_true))) * 100# 调用mape(y_true, y_pred)smape(y_true, y_pred)

参考文献:

1: /qq_41870157/article/details/104699118.

2: /p/382eba2629fe.

3: /p/9ee85fdad150.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。