Оброблення пропущених даних

Практика співбесід з Machine Learning у Python

Lisa Stuart

Data Scientist

Необхідні знання

Практика співбесід з Machine Learning у Python

Опис курсу

  • Розділ 1: Попередня обробка та візуалізація
    • Пропуски, викиди, нормалізація
  • Розділ 2: Кероване навчання
    • Відбір ознак, регуляризація, конструювання ознак
  • Розділ 3: Некероване навчання
    • Вибір алгоритму кластеризації, видобування ознак, зменшення розмірності
  • Розділ 4: Вибір і оцінювання моделі
    • Узагальнення та оцінювання моделей, вибір моделі
Практика співбесід з Machine Learning у Python

Конвеєр машинного навчання (ML)

Огляд конвеєра

Практика співбесід з Machine Learning у Python

Наш ML-конвеєр

Конвеєр

Практика співбесід з Machine Learning у Python

Пропущені дані

  • Вплив різних методів
  • Пошук пропусків
  • Стратегії обробки
Практика співбесід з Machine Learning у Python

Методи

  1. Пропускання
    • Видалення рядків --> .dropna(axis=0)
    • Видалення стовпців --> .dropna(axis=1)
  2. Імпутація
    • Заповнення нулем --> SimpleImputer(strategy='constant', fill_value=0)
    • Імпутація середнім -> SimpleImputer(strategy='mean')
    • Імпутація медіаною --> SimpleImputer(strategy='median')
    • Імпутація модою --> SimpleImputer(strategy='most_frequent')
    • Ітеративна імпутація --> IterativeImputer()
Практика співбесід з Machine Learning у Python

Навіщо цим займатись?

  • Зменшуйте імовірність внесення зміщення
  • Більшість алгоритмів ML потребують повних даних
Практика співбесід з Machine Learning у Python

Наслідки імпутації

  • Залежить від:
    • Кількості пропусків
    • Початкової дисперсії
    • Наявності викидів
    • Розміру та напряму перекосу
  • Пропускання --> Може видалити забагато
  • Нуль --> Занижує результати
  • Середнє --> Сильніше чутливе до викидів
  • Медіана --> Краще за наявності викидів
  • Мода та ітеративна імпутація --> Спробуйте їх
Практика співбесід з Machine Learning у Python
Функція повертає
df.isna().sum() кількість пропусків
df['feature'].mean() середнє ознаки
.shape розміри: рядки, стовпці
df.columns назви стовпців
.fillna(0) заповнює пропуски 0
select_dtypes(include = [np.number] ) числові стовпці
select_dtypes(include = ['object'] ) рядкові стовпці
.fit_transform(numeric_cols) навчає і перетворює
Практика співбесід з Machine Learning у Python

Наслідки пропусків

Які наслідки пропусків у задачах машинного навчання (ML)? Оберіть твердження, яке є правдивим:

  • Пропуски не проблема, бо більшість алгоритмів sklearn їх обробляє.
  • Видаляти спостереження або ознаки з пропусками зазвичай гарна ідея.
  • Пропущені дані зазвичай вносять зміщення й призводять до хибних висновків, тож їх не можна ігнорувати.
  • Заповнення пропусків нулем зміщує результати вгору.
Практика співбесід з Machine Learning у Python

Наслідки пропусків: відповідь

Які наслідки пропусків у задачах машинного навчання (ML)? Правильна відповідь:

  • Пропущені дані зазвичай вносять зміщення й призводять до хибних висновків, тож їх не можна ігнорувати. (Найкраще тестувати варіанти заповнення й обирати той, що найменше впливає на дисперсію набору даних.)
Практика співбесід з Machine Learning у Python

Наслідки пропусків: хибні відповіді

Які наслідки пропусків у задачах машинного навчання (ML)?

  • Пропуски не проблема... (Більшість алгоритмів sklearn не вміють працювати з пропусками й згенерують помилку.)
  • Видаляти спостереження або ознаки з пропусками... (Якщо набір даних невеликий або частка пропусків помітна, видалення рядків чи стовпців зазвичай надто скорочує дані для подальшого ML.)
  • Заповнення нулем змістить результати вгору. (Навпаки, заповнення нулем занижує результати.)
Практика співбесід з Machine Learning у Python

Давайте потренуємось!

Практика співбесід з Machine Learning у Python

Preparing Video For Download...