fancyimpute による代入

Pythonで欠損データに対処する

Suraj Donthi

Deep Learning & Computer Vision Consultant

fancyimpute パッケージ

  • パッケージに高度な手法を含む
  • 機械学習で欠損値を代入
  • 他列から欠損を予測して代入
Pythonで欠損データに対処する

fancyimpute の代入手法

  • KNN(k 近傍法)
  • MICE(連鎖方程式による多重代入)
Pythonで欠損データに対処する

K-Nearest Neighbor による代入

  • 欠損でない特徴量を使い、最も近い(類似した)K点を選ぶ
  • 選んだ点の平均で欠損特徴を埋める

K 近傍法のGIF

Pythonで欠損データに対処する

K-Nearest Neighbor による代入

from fancyimpute import KNN
diabetes_knn = diabetes.copy(deep=True)
knn_imputer = KNN()
diabetes_knn.iloc[:, :] = knn_imputer.fit_transform(diabetes_knn)
Pythonで欠損データに対処する

連鎖方程式による多重代入(MICE)

  • データのランダムサンプルで複数の回帰を実行
  • 回帰結果の平均をとる
  • その値で欠損特徴を代入
Pythonで欠損データに対処する

連鎖方程式による多重代入(MICE)

from fancyimpute import IterativeImputer

diabetes_MICE = diabetes.copy(deep=True) MICE_imputer = IterativeImputer() diabetes_MICE.iloc[:, :] = MICE_imputer.fit_transform(diabetes_MICE)
Pythonで欠損データに対処する

まとめ

  • 機械学習で欠損値を代入
  • KNNは類似点を見つけて代入
  • MICEは重回帰で代入
  • MICEは堅牢な代入手法
Pythonで欠損データに対処する

演習に進みましょう!

Pythonで欠損データに対処する

Preparing Video For Download...