我的数据集有 78 列和 5707 行。几乎每一列都有缺失值,我想用 IterativeImputer 来估算它们。如果我理解正确,它将根据其他列的信息对每一列进行“更智能”的插补。
但是,在插补时,我不希望插补值小于观察到的最小值或大于观察到的最大值。我意识到有 max_value
和 min_value
参数,但我不想对插补施加“全局”限制,相反,我希望每一列都有自己的 max_value
和 min_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/