python - scikit IterativeImputer 中每列的 max_value 和 min_value

标签 python pandas scikit-learn sklearn-pandas imputation

我的数据集有 78 列和 5707 行。几乎每一列都有缺失值,我想用 IterativeImputer 来估算它们。如果我理解正确,它将根据其他列的信息对每一列进行“更智能”的插补。

但是,在插补时,我不希望插补值小于观察到的最小值或大于观察到的最大值。我意识到有 max_valuemin_value 参数,但我不想对插补施加“全局”限制,相反,我希望每一列都有自己的 max_valuemin_value (这是已经观察到的最大值和最小值)。否则,列中的值就没有意义(人数为负值、比率为负值等)

有办法实现吗?

最佳答案

因此,如果您想为每列设置不同的 max 和 min ,那么您可以进入循环并在每次迭代中使用 sklearn.compose.make_column_selector 选择列。或sklearn.compose.make_column_transformer然后将迭代插补器应用于该列,并给出该列的最大值和最小值作为参数。

关于python - scikit IterativeImputer 中每列的 max_value 和 min_value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60228714/

相关文章:

python-3.x - 删除数据框和 csv 文件中的特定字符

python - XGBoost 找不到 sklearn

python - 如何在 scikit-learn (sklearn) 的 Pipeline 中应用 StandardScaler?

python - 使用 Flask 从下拉菜单中获取数据

python - 为 SQLAlchemy 多对多数据库设置关系/映射

python - 更改列名称类型,Python 3.6

python - 如何让 SVM 很好地处理 scikit-learn 中的缺失数据?

python - 使用Python OpenCV的ANN实现以实现手写识别

python - 测试对象来自哪个模块而不是它是哪种类型

python pandas .map 双变量 lambda