【问题标题】:Neural network regression evaluation based on target range基于目标范围的神经网络回归评估
【发布时间】:2020-03-27 23:44:34
【问题描述】:

我目前正在拟合一个神经网络来预测从 1 到 10 的连续目标。但是,样本在整个数据集上的分布并不均匀:目标范围为 1-3 的样本的代表性非常低(仅占大约5% 的数据)。然而,它们很有趣,因为目标的低范围是临界范围。

有什么方法可以知道我的模型如何特别预测这些低范围样本?我知道在进行多类分类时,我可以检查召回以了解模型在某个类上的表现如何。对于分类用例,我还可以在 Keras 中设置类权重参数来解决类不平衡问题,但这显然不适用于回归。

到目前为止,我使用 MAE、MSE、RMSE 等典型指标并获得令人满意的结果。不过,我想知道模型在“关键”样本上的表现。

【问题讨论】:

  • 您的测试数据集在该范围内的表现如何?
  • @ChrisTosh MSE=1.225, RMSE=1.107
  • 我的意思是为什么你不计算特定临界范围内的测量值并将其与性能进行比较,一般来说,找出差异?我会计算整个测试集 1-10 中的性能,然后在 1-3 之间的测试集中计算是否存在很大差异。

标签: keras neural-network deep-learning regression metrics


【解决方案1】:

从我的角度来看,我会比较与整个值范围 (1-10) 相对应的整个测试步骤的测试测量值(分类性能、MSE、RMSE)。然后,当然,我会分别针对您认为关键的特定范围(假设在 1-3 之间)并比较两个总体的差异。您甚至可以对两个群体之间差异的显着性进行一些统计(Wilcoxon 检验等)。

也许这个link 可能对您的比较有用。由于您可以回归,您甚至可以比较 MSERMSE

【讨论】:

  • 谢谢,这似乎是最直接的方法。我认为可能还有一些其他指标更适合我遗漏的不平衡回归任务。
【解决方案2】:

您需要做的是找到这些关键样本的标识符。通常,行索引用于此目的。预测完所有样本后,使用这些存储的索引来查找预测中的关键样本,并对这些过滤的样本运行任何自动度量。我希望这回答了你的问题。

【讨论】:

    猜你喜欢
    • 2018-04-30
    • 1970-01-01
    • 2013-06-30
    • 2019-01-27
    • 1970-01-01
    • 2016-11-04
    • 2018-05-08
    • 2021-09-13
    • 1970-01-01
    相关资源
    最近更新 更多