【问题标题】:Keras - is it possible to train classification models with missing data?Keras - 是否可以用缺失数据训练分类模型?
【发布时间】:2018-01-04 05:25:28
【问题描述】:

过去几个小时我一直在浏览论坛,但似乎找不到答案。

如果我有一个类似于下面显示的小示例的数据集。其中 A、B、C、D 和 E 是输入值,X 和 Y 是输出值。

(被赋值为“null”的缺失数据无关紧要,可以是任何东西)

A     B     C     D     E     X      Y
7     6     3     3     2     11     4
5     6     0     0     7     15     7
3     3     9     null  7     12     7
7     null  7     null  7     12     13
null  7     4     6     12    13     4
null  5     7     6     null  14     7
2     6     0     0     2     13     3
7     null  7     null  2     13     7

有没有办法在 keras 中训练神经网络,使其跳过空值,但仍考虑该行数据?

例如在第三行中,它会跳过 D 的值,因为它为空,但仍然适合使用其他 4 列和 2 个输出列?

对于我正在尝试的任务,不能忽略具有空值的行。它们也不能用任何其他值替换(例如,无法预测替换值)。

【问题讨论】:

  • 当您不确定“无法预测替换值”时,最好用列平均值替换它们。检查此链接是否有帮助 stackoverflow.com/questions/37747886/…
  • 也做不到。它是一个服装数据集,如果我因主观性质而找到平均值,它的有效性就会被破坏。

标签: python neural-network dataset keras


【解决方案1】:

我想到的假设解决方案是首先用非空行训练神经网络,然后保存神经网络参数。在接下来的步骤中,通过对非空行进行训练来更新保存的神经网络,迭代每列以找到非空行。假设在接下来的步骤中,您将使用 A、B、C、E 列训练模型,因为 D 具有空值。如果你实现一个递归函数,它将为我们完成整个工作。

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2015-10-25
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 2020-01-16
    • 2017-12-20
    相关资源
    最近更新 更多