使用 fancyimpute 进行插补

在 Python 中处理缺失数据

Suraj Donthi

Deep Learning & Computer Vision Consultant

fancyimpute 包

  • 该包提供高级插补技术
  • 使用机器学习算法插补缺失值
  • 利用其他列预测并填补缺失值
在 Python 中处理缺失数据

fancyimpute 的插补技术

  • KNN(K 近邻)
  • MICE(链式方程多重插补)
在 Python 中处理缺失数据

K 近邻插补

  • 使用所有非缺失特征选出 K 个最近/相似的数据点
  • 取这些点的均值填充缺失特征

K 近邻 动图

在 Python 中处理缺失数据

K 近邻插补

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 中处理缺失数据

¡Vamos a practicar!

在 Python 中处理缺失数据

Preparing Video For Download...