ludwig MAPE MeanAbsolutePercentageError

mw3dktmi  于 6个月前  发布在  其他
关注(0)|答案(3)|浏览(50)

在某些情况下,如果值范围很宽,回归中的最佳选择是使用MeanAbsolutePercentageError。例如,有时我需要预测输出值在1到1000的范围内,我的误差大约为2%。所以:
对于1,值2的误差为200%
对于1000,值2的误差为0.2%
如果高值拟合得很好,低值拟合就很糟糕。
来源:
https://en.wikipedia.org/wiki/Mean_absolute_percentage_error
https://www.tensorflow.org/api_docs/python/tf/keras/metrics/MeanAbsolutePercentageError
是否可以定义自己的误差函数并将其添加到Ludwig中?

4uqofj5v

4uqofj5v1#

嘿,@PeterPirog,是的,可以向Ludwig添加新的损失函数和指标。目前这涉及到对Ludwig代码库做一些更改,但我们正在努力寻找未来使其更容易扩展的方法。
损失函数定义的地方在这里:loss_modules.py
指标定义的地方在这里:metric_modules.py
损失函数注册到特征类型的地方:numerical_feature.py
请注意,Ludwig的主分支正在使用未发布的PyTorch后端。如果您想为TensorFlow做出这个改变,有一个tf-legacy分支,我们将从那里发布v0.4.1版本。

tzdcorbm

tzdcorbm2#

我尝试添加MAPE误差,但是有一些错误:

File "g:\pycharmremote\ludwig\ludwig\features\feature_registries.py", line 18, in <module>
    from ludwig.features.audio_feature import AudioFeatureMixin, AudioInputFeature

  File "g:\pycharmremote\ludwig\ludwig\features\audio_feature.py", line 27, in <module>
    from ludwig.features.sequence_feature import SequenceInputFeature

  File "g:\pycharmremote\ludwig\ludwig\features\sequence_feature.py", line 29, in <module>
    from ludwig.modules.metric_modules import EditDistanceMetric, \

  File "g:\pycharmremote\ludwig\ludwig\modules\metric_modules.py", line 52, in <module>
    MEAN_ABSOLUTE_PERCENTAGE_ERROR,
NameError: name 'MEAN_ABSOLUTE_PERCENTAGE_ERROR' is not defined

https://github.com/PeterPirog/ludwig/blob/add_mape/ludwig/modules/metric_modules.py
https://github.com/PeterPirog/ludwig/blob/add_mape/ludwig/modules/loss_modules.py
https://github.com/PeterPirog/ludwig/blob/add_mape/ludwig/features/numerical_feature.py

bwitn5fc

bwitn5fc3#

你好,彼得·皮罗格,你是否能解决这个问题?
PS:我无法访问你在之前的评论中发布的GitHub链接。

相关问题