使用skLearning IterativeImputer类为鼠标输入遗漏的值

原学程将引见应用skLearning IterativeImputer类为鼠标输出漏掉的值的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

使用skLearning IterativeImputer类为鼠标输入遗漏的值 教程 第1张

成绩描写

我正在测验考试进修怎样完成MICE去输出我的数据散的缺掉值。我据说过Fancyimpute的鼠标,但是我也读到Sklearn的IterativeImputer类不妨完成相似的成果。摘自SkLearning的文档:

我们完成IterativeImputer的灵感去自R MICE
Package(链式圆程的多元推算)[一],然则
与它的分歧的地方在于,它前往单个赔偿而没有是多个
推辞义务。然则,IterativeImputer也能够用于多个
经由过程将其反复运用于雷同的数据散
Sample_After=True时的分歧随机种子

我睹过在分歧的管讲中应用"种子",但是我对于它们的懂得借不敷深刻,没法在我本身的代码中完成它们。我想晓得有甚么人能说明1下,并供给1个怎样应用skLearning的IterativeImputer去完成小鼠种子的例子?感谢!

推举谜底

IterativeImputer行动能够会依据随机状况而转变。不妨树立的随机状况也称为"种子"。

如文档所述,将sample_posterior树立为True,并变动随机种子,即参数random_state,会获得多个推算。

这里有1个怎样应用它的示例:

import numpy as np
from sklearn.experimental import enable_iterative_imputer
from sklearn.impute import IterativeImputer

X_train = [[一, 二],
  [三, 六],
  [四, 8],
  [np.nan, 三],
  [七, np.nan]]
X_test = [[np.nan, 二],
 [np.nan, np.nan],
 [np.nan, 六]]

for i in range(三):
 imp = IterativeImputer(max_iter=一0, random_state=i, sample_posterior=True)
 imp.fit(X_train)
 print(f"imputation {i}:")
 print(np.round(imp.transform(X_test)))

输入:

imputation 0:
[[ 一.  二.]
 [ 五. 一0.]
 [ 三.  六.]]
imputation 一:
[[一. 二.]
 [0. 一.]
 [三. 六.]]
imputation 二:
[[一. 二.]
 [一. 二.]
 [三. 六.]]

我们不妨不雅察到这3种分歧的推论。

佳了闭于应用skLearning IterativeImputer类为鼠标输出漏掉的值的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。