仅未来数据具有重要缺失值的分类问题?

时间:2019-05-25 13:52:55

标签: python machine-learning classification

我正在尝试使用梯度提升机器来处理二进制分类问题。

给出下表的4列,其中ColumnA是我要预测的二进制值(0,1)

|  ColumnA  |  ColumnB  |  ColumnC  | ColumnD  | ... |
|     0     |
|     1     |

在整个训练数据中,我计算出平均值,发现当A为0和1时,ColumnB的平均值之间存在较大差异,因此从我的解释来看,这意味着该值应该起非常重要的作用在预测中?

但是,当涉及到我要分类的未来数据时,我没有有关ColumnB的任何信息。我的问题是,仅取columnB的平均值并将其作为将来数据的值是否有意义,还是因为我无法在将来的值中获取该数据而应该完全删除ColumnB吗?

当前,我认为将平均值用作默认值是有道理的,但是既然这样会否定列在未来预测中的有效性,也许我一无是处吗?

1 个答案:

答案 0 :(得分:1)

您问题的答案取决于两件事,首先是GB模型对B列的相对权重或重要性。如果模型对columnB赋予了很大的权重,这是一个主要的决定因素在您的训练集中,然后用平均值填充空值或缺失值可能会导致预测错误。第二件事是columnB上缺失值的数量。如果该列中总是丢失大量数据,例如30%或更多,则使用该列是没有意义的,因为模型将不可靠,并且您的训练数据在columnB中没有空值,因此该模型从未看到过数据与null一起使用,并且在做出预测时会感到困惑。

在继续之前,您应该测试模型中功能的重要性。在没有columnB的情况下检查准确性。最后一种解决方案或高级解决方案是拥有一个投票系统模型,在该模型中,您将拥有多个模型,有些模型带有columnB,有些没有。