Импутация с помощью 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

Давайте потренируемся!

Работа с пропущенными данными в Python

Preparing Video For Download...