【问题标题】:What does Imputer.fit with nan value do?具有 nan 值的 Imputer.fit 有什么作用?
【发布时间】:2019-02-24 05:42:42
【问题描述】:

我正在使用 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)

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    当您运行imp.fit 时,它会计算每列中要替换的值(在本例中为mean)。

    您可以通过以下方式访问我在每列中保留的内容:imp.statistics_

    当您运行imp.transform 时,它会使用相应的值完成NaNimp.statistics_ 中的内容)

    【讨论】:

    • 谢谢,看了imp.statistics_里面的内容我现在很清楚了
    猜你喜欢
    • 2020-01-13
    • 1970-01-01
    • 2016-03-19
    • 2013-07-23
    • 1970-01-01
    • 2011-08-23
    • 2022-01-11
    • 2017-03-21
    • 2022-09-28
    相关资源
    最近更新 更多