我正在编写一个非常基本的程序,使用scikit learn的inputer类预测数据集中丢失的值。
我制作了一个NumPy数组,用strategy='mean'创建了一个输入对象,并对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
由于新数组是从transform函数返回的,因此,我必须将其存储在同一个数组(X)中以更改值
每the documentation,
sklearn.preprocessing.Imputer.fit_transform
返回一个新数组,它不会改变参数数组。因此,最小的解决方案是:scikit learn version 0.20之后使用更改的输入模块。所以我们现在用的是不纯的
注意:
不使用“NaN”,而是使用“np.NaN”
不需要使用轴参数
我们可以使用imp或输入代替我的
impute
变量相关问题 更多 >
编程相关推荐