ПочатиПочніть безкоштовно

Поза межами бінарної класифікації

Звісно, бінарна класифікація — лише окремий випадок. Цільове кодування можна застосовувати до будь-якого типу цільової змінної:

  • Для бінарної класифікації зазвичай використовують кодування середнім значенням цілі
  • Для регресії середнє можна замінити на медіану, квартилі тощо
  • Для багатокласової класифікації з N класами створюють N ознак із середнім цільовим значенням для кожної категорії у підході one-vs-all

Функцію mean_target_encoding(), яку ви створили, можна використати для будь-якого з перелічених типів цілі. Застосуймо її до задачі регресії на прикладі змагання House Prices на Kaggle.

Ваша мета — закодувати категоріальну ознаку "RoofStyle" за допомогою цільового кодування середнім. Датафрейми train і test уже доступні у вашому робочому середовищі.

Ця вправа є частиною курсу

Як перемагати в змаганнях Kaggle за допомогою Python

Переглянути курс

Інструкції до вправи

  • Укажіть усі відсутні параметри у виклику функції mean_target_encoding(). Назва цільової змінної — "SalePrice". Встановіть гіперпараметр \(\alpha\) рівним 10.
  • Пам'ятайте, що параметри train і test очікують тренувальний і тестовий датафрейми.
  • Водночас параметри target і categorical очікують назви цільової змінної та ознаки, яку потрібно закодувати.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Create mean target encoded feature
train['RoofStyle_enc'], test['RoofStyle_enc'] = mean_target_encoding(train=train,
                                                                     test=____,
                                                                     target='____',
                                                                     categorical='____',
                                                                     alpha=____)

# Look at the encoding
print(test[['RoofStyle', 'RoofStyle_enc']].drop_duplicates())
Редагувати та запускати код