scikit-learn处理输入数据缺失值的类:Imputer

 可选参数

  • strategy:  'mean'(默认的), ‘median’中位数,‘most_frequent’出现频率最大的数
  • axis:  0(默认), 1
  • copy: True(默认),  False

输出

  • numpy数组,之后可转化为DataFrame形式 

属性: 

  • Imputer.statistics_可以查看每列的均值/中位数

特别说明:最好将imputer应用于整个数据集。因为虽然现在可能只有某一个属性存在缺失值,但是在新的数据中(如测试集)可能其他的属性也存在缺失值

from sklearn.preprocessing import Imputer
imputer=Imputer(strategy='median') #将每列属性的缺失值替换为中位数
imputer.fit(x_train)
X=imputer.transform(x_train) #转换结果X是一个numpy数组
x_train=pd.DataFrame(X,columns=x_train.columns) #将numpy数组转化为dataframe

print(imputer.statistics_) #查看每个属性的中位数

 

你可能感兴趣的:(Python,机器学习)