我建立了一个多元线性回归模型。我的预测和测试值看起来接近如下: 我想计算错误百分比。但是在这段代码中有很多数字:
from sklearn import metrics
print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred))
输出:
Mean Absolute Error: 137610.86451426445
我现在该怎么办?
答案 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。