Python 和决策树中的多重插补

分享于2022年07月17日 imputation python scikit-learn 问答
【问题标题】:Python 和决策树中的多重插补(Multiple Imputation within Python and Decisiontrees)
【发布时间】:2022-07-14 02:34:25
【问题描述】:

我试图在 python 中进行多重插补。 我的动机是由 R 中的 mouse 包驱动的,但是,我正在寻找 python 中的等价物。我找到了 sklearn IterativeImputer 。 按照文档和一些关于 SO 的帖子,我能够生成多个估算集。但是,此估算值是通过设置 sample_posterior = True 从分布中得出的。但这不是我要找的。我想不是从分布中提取值,而是作为真实样本。 IE。与在 R 中一样,从决策树中同一叶中的那些值中提取。 (见第 94 页 https://cran.r-project.org/web/packages/mice/mice.pdf )。有没有办法将 IterativeImputer 中决策树的“预测”更改为对同一片叶子进行随机观察?

文档: https://scikit-learn.org/stable/modules/impute.html

在 SO 上发布: IterativeImputer - sample_posterior Imputing missing values using sklearn IterativeImputer class for MICE


【解决方案1】:

miceforest 可以满足您的需求。它默认实现均值匹配,从数据中的真实样本中提取。

但是,miceforest 使用 lightgbm 作为后端。这可能是也可能不是您想要的。