Imputing missing values using sklearn IterativeImputer class for MICE(使用skLearning IterativeImputer类为鼠标输入遗漏的值)
本文介绍了使用skLearning IterativeImputer类为鼠标输入遗漏的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试学习如何实现MICE来输入我的数据集的缺失值。我听说过Fancyimpute的鼠标,但我也读到Sklearn的IterativeImputer类可以实现类似的结果。摘自SkLearning的文档:
我们实现IterativeImputer的灵感来自R MICE Package(链式方程的多元推算)[1],但是 与它的不同之处在于,它返回单个补偿而不是多个 推卸责任。但是,IterativeImputer也可以用于多个 通过将其重复应用于相同的数据集 Sample_After=True时的不同随机种子
我见过在不同的管道中使用"种子",但我对它们的理解还不够深入,无法在我自己的代码中实现它们。我想知道有没有人能解释一下,并提供一个如何使用skLearning的IterativeImputer来实现小鼠种子的例子?谢谢!
推荐答案
IterativeImputer
行为可能会根据随机状态而改变。可以设置的随机状态也称为"种子"。
如文档所述,将sample_posterior
设置为True
,并更改随机种子,即参数random_state
,会得到多个推算。
这里有一个如何使用它的示例:
import numpy as np
from sklearn.experimental import enable_iterative_imputer
from sklearn.impute import IterativeImputer
X_train = [[1, 2],
[3, 6],
[4, 8],
[np.nan, 3],
[7, np.nan]]
X_test = [[np.nan, 2],
[np.nan, np.nan],
[np.nan, 6]]
for i in range(3):
imp = IterativeImputer(max_iter=10, random_state=i, sample_posterior=True)
imp.fit(X_train)
print(f"imputation {i}:")
print(np.round(imp.transform(X_test)))
输出:
imputation 0:
[[ 1. 2.]
[ 5. 10.]
[ 3. 6.]]
imputation 1:
[[1. 2.]
[0. 1.]
[3. 6.]]
imputation 2:
[[1. 2.]
[1. 2.]
[3. 6.]]
我们可以观察到这三种不同的推论。
这篇关于使用skLearning IterativeImputer类为鼠标输入遗漏的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:使用skLearning IterativeImputer类为鼠标输入遗漏的值
猜你喜欢
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01