通过从现有的分布中取样来估算缺失值



缺失值是数据分析中的常见问题。一种共同的策略似乎是,缺失值被从现有值的分布中随机采样的值所取代。

是否有Python库代码在数据框架上方便地执行此预处理步骤?据我所知,sklearn.preprocessing模块没有提供此策略。

从现有值的分布中进行采样,您需要知道分布。如果不知道分布,则可以使用内核密度估计来适合它。这篇博客文章对Python的内核密度估算实现的概述很好:

Scikit-learn中有一个实现(请参阅http://scikit-learn.org/stable/modules/dense.html#kernel-dense);Sklearn的kerneldentys具有.sample()方法。STATSMODELS(http://statsmodels.sourceforge.net/devel/generated/generated/statsmodels.nononparametric.kernel_dense.kdemultivariate.html)中还有一个内核密度估计器(它支持分类功能。

另一种方法是选择随机的现有值,而无需尝试生成数据集中看不到的值。该解决方案的问题在于,值可能取决于同一行中的其他值,然后随机示例不考虑这一点可能会产生不现实的示例。

相关内容

  • 没有找到相关文章

最新更新