1. 程式人生 > >scikit-learn處理輸入資料缺失值的類:Imputer

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_) #檢視每個屬性的中位數