我正在编写一个非常基本的程序,以使用scikit-learn的Imputer类来预测数据集中的缺失值。
我制作了一个NumPy数组,创建了一个具有strategy ='mean'的Imputer对象,并对NumPy数组执行了fit_transform()。
当我在执行fit_transform()之后打印数组时,“ Nan”仍然存在,并且我没有得到任何预测。
我在这里做错了什么?我该如何预测缺失值?
import numpy as np
from sklearn.preprocessing import Imputer
X = np.array([[23.56],[53.45],['NaN'],[44.44],[77.78],['NaN'],[234.44],[11.33],[79.87]])
print X
imp = Imputer(missing_values='NaN', strategy='mean', axis=0)
imp.fit_transform(X)
print X
根据文档,sklearn.preprocessing.Imputer.fit_transform
返回一个新数组,它不会更改参数数组。因此,最小的解决方法是:
X = imp.fit_transform(X)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句