gpt4 book ai didi

python - sklearn imputer 删除具有缺失值的列

转载 作者:行者123 更新时间:2023-12-05 04:38:23 25 4
gpt4 key购买 nike

我目前正在学习 sklearn imputer我发现有一种策略没有被 imputers 实现。

我想构建一个管道,删除具有任何缺失值的列或删除所有具有缺失值的行。

我为什么要这个?

因为我想进行网格搜索并在我的 RMSE 或分类分数上找到任何插补方法的缺陷。

有什么方法可以用 sklearn 管道做到这一点?还是我应该创建自己的 imputer?

如果之前有人问过这个问题,请随时建议关闭问题并指出正确的资源。

有关更多上下文,我有 21 个特征和 1000 个数据点,只有一列有缺失值,这些缺失值占列中值的 50%。我只想探索缺失值插补方法对我的分类器的准确性和 f1 分数的影响。

最佳答案

我建议使用 autoimpute 库。它可能是目前处理具有缺失值的数据集的最佳工具。

它有一个功能可以完全按照您的要求执行,删除具有任何缺失值的行。

from autoimpute.imputations import MiceImputer, SingleImputer, listwise_delete

listwise_delete(df, inplace=True, verbose=False)

一般来说,sklearn 的 imputer 的用处非常有限,而 autoimpute 能够填补很多空白。更具体地说,它允许:

  • 明确设置您希望在计算估算值时将其视为变量的列
  • 为每列或一组列设置不同的插补算法
si_dict_col = SingleImputer(
strategy={"gender":"categorical", "salary": "pmm", "weight": "pmm"},
predictors={"gender": ["salary", "weight", "looks"], "salary": ["weight", "gender"])

  • 有内置的方法来可视化不同插补方法的结果
plot_imp_scatter(data_het_miss, "x", "y", "least squares")

它也遵循 sklearn 的模式,可以在管道中替代 sklearn 自己的 imputer 函数。

关于python - sklearn imputer 删除具有缺失值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70611608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com