НачатьНачать бесплатно

За пределами бинарной классификации

Бинарная классификация — лишь один частный случай. Целевое кодирование можно применять к целевой переменной любого типа:

  • При бинарной классификации обычно используется кодирование средним значением целевой переменной
  • При регрессии среднее можно заменить медианой, квартилями и т. д.
  • При многоклассовой классификации с N классами создаётся N признаков со средним значением целевой переменной для каждой категории по схеме «один против всех»

Функция mean_target_encoding(), которую вы создали, подходит для любого из перечисленных типов целевой переменной. Давайте применим её к задаче регрессии на примере соревнования 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())
Редактировать и запускать код