【发布时间】:2022-01-06 18:06:24
【问题描述】:
我目前正在学习sklearn imputer,我发现有一种策略没有被估算者实施。
我想建立一个管道来删除所有缺失值的列或删除所有缺失值的行。
我为什么要这个?
因为我想做一个网格搜索,并在我的 RMSE 或分类分数上找到任何插补方法的缺陷。
有没有办法使用 sklearn 管道来做到这一点?还是我应该创建自己的 imputer?
如果以前有人问过这个问题,请随时建议关闭问题并指出正确的资源。
关于更多上下文,我有 21 个特征和 1000 个数据点,只有一列有缺失值,这些缺失值是列中值的 50%。我只是想探索一下缺失值插补方法对我的分类器准确率和 f1 分数的影响。
【问题讨论】:
-
所以你想比较 missingRowsRemoved vs missingColumnsRemoved vs imputationMethod1 vs imputationMethod2 等?是这样吗?
-
是的.. 没错@RSale
-
这需要更多上下文。你使用什么样的数据。你在解决什么样的问题?您正在对什么进行网格搜索?
-
估算是一门艺术,选择正确的方法完全取决于您拥有的数据。
-
这样的转换器不会是真正的“imputer”。我不知道有一个通用的包可以提供这样的功能。 “删除包含任何缺失的任何列”将很容易构建为自定义转换器。 “删除包含任何缺失的任何行”将更加困难,因为 sklearn 始终假设行保持固定顺序并且既不删除也不添加。您也许可以使用
imblearn包及其重采样管道,但它会有点 hacky。
标签: python scikit-learn imputation