我正在使用 scikit-learn 库学习机器学习,当我看到来自 Scikit-learn tutorial 的代码时,我感到很困惑。
它有以下代码:
import numpy as np
from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values=np.nan, strategy='mean')
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
X = [[np.nan, 2], [6, np.nan], [7, 6]]
print(imp.transform(X))
据我了解,imputer 用于填充缺失值,并且它使用一些策略,如均值、中值或众数。但是我不明白这3行代码是干什么的
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
X = [[np.nan, 2], [6, np.nan], [7, 6]]
print(imp.transform(X))
为什么它适合矩阵 np.nan
?这些拟合如何影响 imp.transform(X)
?
最佳答案
当您运行 imp.fit
时,它会计算每列中要替换的值(在本例中为 mean
)。
您可以访问访问我在每一列中保留的内容:imp.statistics_
当您运行 imp.transform
时,它会用相应的值(imp.statistics_
中的内容)完成 NaN
关于python - 具有 nan 值的 Imputer.fit 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52416187/