python - 使用 fancyimpute 对测试集进行插补

标签 python missing-data imputation fancyimpute

python 包 Fancyimpute提供了几种在 Python 中插补缺失值的方法。该文档提供了一些示例,例如:

# X is the complete data matrix
# X_incomplete has the same values as X except a subset have been replace with NaN

# Model each feature with missing values as a function of other features, and
# use that estimate for imputation.
X_filled_ii = IterativeImputer().fit_transform(X_incomplete)

将插补方法应用于数据集 X 时效果很好。但是,如果需要进行训练/测试分割怎么办?一次

X_train_filled = IterativeImputer().fit_transform(X_train_incomplete)

被调用,如何估算测试集并创建X_test_filled?需要使用训练集中的信息来估算测试集。我猜想 IterativeImputer() 应该返回适​​合 X_test_incomplete 的对象。那可能吗?

请注意,对整个数据集进行估算,然后分成训练集和测试集是不正确的

最佳答案

该包看起来像是模仿 scikit-learn 的 API。查看源代码后,看起来确实有一个 transform方法。

my_imputer = IterativeImputer()
X_trained_filled = my_imputer.fit_transform(X_train_incomplete)

# now transform test
X_test_filled = my_imputer.transform(X_test)

插补器将应用从训练集中学到的相同插补。

关于python - 使用 fancyimpute 对测试集进行插补,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53322182/

相关文章:

python - m2m 字段上的 post_save 信号

r - 基础 R 中缺失值的面积图

python - sklearn.impute.IterativeImputer 的实现

r - 如何使用 mouse 或 R 中的另一个包从多个变量中提取多个估算值到单个数据集中?

python - 在Python中为字典中的列表项赋值

python - flask migrate 似乎删除了我所有的数据库数据

python - 转换 Pandas 中的 SAS 日期时间 - 多列

r - 丢弃 R 中的单个属性

r - R 中看似不相关的回归与估算数据池结果

r - 无法在我的 PCA 中估算缺失值