1. Learn
  2. /
  3. Курси
  4. /
  5. Опрацювання ознак у PySpark

Connected

Вправа

Видалення стовпців із малою кількістю спостережень

Після масштабного інженірингу ознак варто зробити паузу й подивитися, що ви створили. Якщо ви застосовували автоматизацію для категоріальних ознак, як-от «exploding» або OneHot Encoding, може виявитися, що тепер у вас сотні нових бінарних ознак. Тема відбору ознак заслуговує на окремий курс, але є кілька швидких кроків, які допоможуть зменшити розмірність набору даних.

У цій вправі ми приберемо стовпці, у яких менше ніж 30 спостережень. 30 — це поширений мінімум для статистичної значущості. Якщо менше, зв'язки можуть призвести до перенавчання просто через випадковий збіг!

ПРИМІТКА: Дані доступні в датафреймі df.

Інструкції

100 XP
  • Використайте наданий цикл for, що ітерується списком бінарних стовпців, і обчисліть sum значень у стовпці за допомогою функції agg. Застосуйте collect(), щоб виконати обчислення негайно, і збережіть результат у obs_count.
  • Порівняйте obs_count з obs_threshold. Оператор if має повертати істину, якщо obs_count менше або дорівнює obs_threshold.
  • Видаліть стовпці, додані до списку cols_to_remove, за допомогою drop(). Пам'ятайте, що символ * дає змогу розпакувати список.
  • Виведіть початкові та підсумкові розміри датафреймів PySpark, використовуючи count() для кількості рядків і len() на df.columns або new_df.columns для визначення кількості стовпців.