使用 fancyimpute 進行補值

在 Python 中處理遺漏值

Suraj Donthi

Deep Learning & Computer Vision Consultant

fancyimpute 套件

  • 套件包含進階技術
  • 使用機器學習演算法補齊遺漏值
  • 以其他欄位預測並補入遺漏值
在 Python 中處理遺漏值

fancyimpute 的補值技術

  • KNN(K-Nearest Neighbor)
  • MICE(Multiple Imputation by Chained Equations)
在 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...