计算预测误差时数量巨大

时间:2019-06-12 12:16:27

标签: python machine-learning regression

我建立了一个多元线性回归模型。我的预测和测试值看起来接近如下: 我想计算错误百分比。但是在这段代码中有很多数字:

from sklearn import metrics
print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred))  

输出:

Mean Absolute Error: 137610.86451426445

我现在该怎么办?

1 个答案:

答案 0 :(得分:2)

通常,在执行回归时,我们归一化数据到模型。这样可以改善预测效果,并避免梯度实际爆炸。

有关更多信息,请参见here

您可以使用以下简单方式进行规范化

x_new = x - x.min() / ( x.max() - x.min() )

其中x是数据集中的样本,x.min()返回数据集中的最小值,而x.max()返回数据集中的最大值。 x_new是介于0和1之间的归一化值。

因此,您将获得属于间隔[ 0 , 1 ]的值。

  

此外,对于诸如MAE和MSE的损失函数,我们得到的值也较小。渐变不会爆炸或具有巨大的价值。培训进行得很顺利。

提示:

此外,请阅读有关数据标准化的信息。 Standardization vs. Normalization可能是一本好书。也许您可以阅读this