【问题标题】:Finding missing values in big data在大数据中查找缺失值
【发布时间】:2016-02-25 08:25:42
【问题描述】:

我有许多需要分析的表。目前正在清理数据,因为它有很多缺失值。在某些情况下,仅缺少一个值,而在其他大约 200 行中。

问题

如何找到应该插入行的值?

我的方法

  1. 图的简单线性外推。

  2. 求值的平均值并将其插入所有缺失值。

  3. 如果缺少 200 个值,则取最后 100 个和后 100 个值的平均值。

虽然我可以想到上述所有方法,但我不确定它的效率或如何编写节点来实现这一点。

【问题讨论】:

  • 4.不要做以上任何事情。使用可以处理缺失数据的算法。从周围数据点派生值不会向数据添加任何信息。
  • knime.org/blog/how-to-deal-with-missing-values,我目前正在使用这种方法。这是您建议的那种算法吗?

标签: java data-cleaning knime bigdata


【解决方案1】:

新的KNIME missing value node 提供了许多替换缺失值的方法。它可以简单地通过均值替换或在前一个和下一个非缺失值之间进行线性插值。

【讨论】:

  • 在缺失值节点中,我知道有很多选项。但是当我使用任何方法时,我发现所有方法在用于预测时都会产生相同的结果。我可以根据什么标准选择应该使用哪种插值?使用平均插值、先前值等时,我得到相同的结果。
  • 这在很大程度上取决于数据、预测任务(分类或回归)和您使用的模型。例如,KNIME 朴素贝叶斯学习器可以很好地处理缺失值,而无需对其进行任何预处理,而神经网络学习器在遇到缺失值时会失败。我认为没有适用于所有用例的通用规则,但取平均值通常是一个不错的选择。
  • 好的。我正在使用回归学习器。我有很多数据丢失。说一下 5k 数据中缺少 3k 数据。
  • 你有多少功能?缺失值是否全部出现?您还可以训练一个朴素贝叶斯学习器来找出哪些特征经常一起出现,然后相应地替换缺失的值。您还可以学习多个模型,每个模型都基于您的特征和行的子集,以便该特定模型没有缺失值。然后你将它们组合成一个整体,通过对测试数据的预测准确度对每一个进行加权。
猜你喜欢
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 1970-01-01
相关资源
最近更新 更多