0

我正在处理一个属性中存在多个缺失值的数据集。

完成数据预处理的典型过程后,我的下一步是尝试拟合回归模型来估算缺失值。但是,当我尝试使用IterativeImputerfrom 时fancyimpute。我遇到了这个错误:

C:\Users\User.DC241-12\Anaconda3\lib\site-packages\sklearn\linear_model\ridge.py:942: RuntimeWarning: overflow encountered in square
  v = s ** 2
****hierarchy of filenames in which error is happening****
Input contains NaN, infinity or a value too large for dtype('float64')

我知道输入到的缺失值IterativeImputer将表示为NaNs 所以我猜这不是这里的原因。在传递到插补过程之前,我是否应该将我的数据缩放到。但这不会影响插补过程吗?

谢谢!

4

1 回答 1

0

我有一个类似的问题。对我来说,问题是我输入到 imputer 的一些值非常大(值 > 10,000,000)并且有一个大数据集(500,000+ 行)。这些大值在 IterativeImputer 使用的算法中以某种方式复合,并溢出 numpy's float64

尝试按比例缩放您的值,进行估算,然后在估算完成后按比例放大(反转按比例缩小的过程)。

于 2018-11-01T22:51:52.450 回答