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

Connected

Вправа

Наївна обробка пропусків і категоріальних значень

Random Forest Regression є достатньо стійким, тож ми можемо оминути багато трудомістких і нудних кроків підготовки даних. Хоча деякі реалізації Random Forest автоматично працюють з пропущеними та категоріальними значеннями, у PySpark цього немає. Однак математика лишається тією самою, тож ми можемо дозволити собі наївні заміни значень.

Для пропущених значень, оскільки наші дані строго додатні, призначимо -1. Random forest розділятиме за цим значенням і оброблятиме його інакше, ніж решту значень у тій самій ознаці.

Для категоріальних значень ми можемо просто відобразити текстові значення у числа, і знову ж таки random forest коректно їх обробить, виконуючи розбиття за цими значеннями. У цьому прикладі ми знову скористаємося pipelines з Introduction to PySpark, щоб писати код лаконічніше. Зверніть увагу, що вправа розпочнеться з показу dtypes стовпців у датафреймі; порівняйте їх із результатами наприкінці цієї вправи.

ПРИМІТКА: Pipeline і StringIndexer уже імпортовано для вас. Список categorical_cols також доступний.

Інструкції

100 XP
  • Замініть значення у WALKSCORE і BIKESCORE на -1 за допомогою fillna() та параметра subset.
  • Створіть список StringIndexer за допомогою спискової генерації, ітеруючись кожним стовпцем у categorical_cols.
  • Застосуйте fit() і transform() до конвеєра indexer_pipeline.
  • Видаліть categorical_cols за допомогою drop(), оскільки вони більше не потрібні. Перевірте типи результатних даних за допомогою dtypes.