sklearn.impute的fit方法中提及的statistics术语具体含义是什么
这里的statistics就是你选择的插补策略对应的、需要从训练数据集计算得到的统计量,不同插补策略对应的统计量完全不同:
- 当
SimpleImputer的strategy参数设置为mean(你示例中的选择):statistics 就是训练数据每一列非缺失值的算术平均值 - 当
strategy设置为median:statistics 就是训练数据每一列非缺失值的中位数 - 当
strategy设置为most_frequent:statistics 就是训练数据每一列非缺失值的众数 - 当
strategy设置为constant:statistics 就是你手动指定的fill_value参数值
fit(X)的作用就是遍历输入的数据集X,按照你指定的策略计算出对应的统计值,把结果存在插补器的statistics_属性里,后续调用transform()做缺失值替换的时候,就直接用提前算好的这个统计值填充所有缺失位置,不需要再重复计算。
结合你的示例代码说明:你示例中imp.fit([1, 2, 3, 4, 5, 6, 7])执行后,因为选的是均值策略,计算得到输入列表的均值为4,这个4就是当前插补器的statistics,后续你对s做插补时,里面的np.NaN和None都会被替换为4。
注:你示例代码中
missing_values='NaN'的设置存在问题,代码里的缺失值是np.NaN(浮点类型空值)和None,不是字符串类型的'NaN',实际运行时会无法识别到缺失值,建议修改为missing_values=np.nan。
内容的提问来源于stack exchange,提问作者irvan98
相关产品推荐
相关产品推荐

