【问题标题】:Impute missing values with mean of column in machine learning在机器学习中用列的平均值估算缺失值
【发布时间】:2020-06-07 08:22:15
【问题描述】:

我知道估算缺失值正是它听起来的意思,我说的是用列的平均值估算它。在将数据拆分为训练和测试之前,我通常会估算缺失值,但后来我看到了这个QnA,上面写着

注意:如果您想将其用于机器学习/数据科学:从数据科学的角度来看,首先替换 NA 然后拆分为训练和测试是错误的...您必须先拆分为训练和测试,然后在 train 上用 mean 替换 NA 然后应用这个有状态的预处理模型进行测试,请参阅下面涉及 sklearn 的答案! – Fabian Werner 2019 年 8 月 28 日在 9:18

这是什么意思?我们能做到吗?我们该怎么做?在拆分数据之前或之后执行此操作有什么不同吗?如果是,为什么?请帮助我理解,因为我对这件事很困惑。

【问题讨论】:

  • 这一次有很多问题;他们真的应该分开。但why 的论点与this question 中的相同。

标签: python machine-learning data-science


【解决方案1】:

是的,这是一个正确的说法。您应该首先将数据拆分为训练数据和有效/测试数据,计算训练数据的平均值并将其应用于有效/测试数据。

事实上,这与任何基于数据本身的处理有关。 如果对整个数据集进行计算和转换,就会将信息泄漏到数据中。但是我们想要一个正确的验证,所以应该像训练一样处理有效/测试数据集

【讨论】:

  • 对不起,如果我的问题看起来很荒谬,“计算火车数据的平均值并将其应用于有效/测试数据”是什么意思?为什么计算和转换整个数据集可能会将信息泄漏到数据中?如果我完全像训练数据集(估算,处理异常值等)一样单独处理测试数据集,那么与同时处理两者有什么不同?我很抱歉提出荒谬的问题..我还是不明白你的意思,对不起..
  • 我认为这篇文章应该有所帮助:medium.com/@pouryaayria/k-fold-target-encoding-dfe9a594874b
猜你喜欢
  • 2018-09-26
  • 2017-06-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 2019-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多