我一直在看一个关于用多元线性回归预测股票价格的教程,导师用异常值 -99999 替换了缺失值数据 NaN。为什么以及如何像这样的替换不会扭曲数据并提供有偏见或训练不正确的分类器?
为什么用异常值替换空值?
数据挖掘
机器学习
回归
线性回归
离群值
机器学习模型
2022-02-14 06:40:20
3个回答
当您使用树木或森林时,-999999 非常常见(您将缺失值归入与其他值有很大差异的值以执行更好的分割)。
也许(!)在极少数情况下,-999999 的插补可能有用(例如,我通过聚类使用它)。
建议的平均值/中位数是非常有效的方法。例如,包括表示缺失值(=1;插补前)和非缺失值(=0)的布尔列。
这个过程称为插补,即用替换值替换缺失数据的过程。这涉及使用均值替换和中值替换两种方法来替换缺失值,并且这些插补方法比您提到的更常见,因此您最好从数据理解或数据丢失原因等开始。
例如,如果有一个数据集有很大的异常值,我会按中值进行插补。另一方面,如果您的缺失值是随机分布的(或小尺寸),您最好使用imputation by mean。如果您用均值替换缺失值,则会保留均值。
也许,你的导师只是为了它而用 -99999 替换缺失值。
他/她想要一个数字来表示缺失值。
我已经看到了测井数据的这种做法,其中软件不能直接处理 NaN,必须让 NaN 用数字表示,在本例中为 -99999。