Sobes.tech
Middle — Senior
37

Что такое target encoding и какие у него проблемы (overfitting, leakage)?

Companies where asked
SelectelSelectel
Rubbles

Answer from AI

sobes.tech AI

Target encoding — это метод кодирования категориальных признаков, при котором каждой категории присваивается числовое значение, основанное на статистике целевой переменной (например, среднее значение таргета для данной категории).

Преимущества:

  • Позволяет эффективно использовать категориальные признаки в моделях, которые работают с числовыми данными.
  • Может улучшить качество модели, особенно при большом количестве категорий.

Проблемы:

  • Overfitting (переобучение): если использовать среднее таргета по всей обучающей выборке, модель может запомнить конкретные значения, что ухудшит обобщающую способность.
  • Leakage (утечка данных): при вычислении статистики таргета для категорий на всей выборке происходит утечка информации из таргета в признаки, что искажает оценку модели.

Как избежать проблем:

  • Использовать кросс-валидацию или сглаживание при вычислении target encoding.
  • Применять методы регуляризации, например, добавлять шум или использовать усреднение с глобальным средним.

Пример сглаженного target encoding:

# Pseudocode
for each category:
    encoded_value = (sum_target_in_category + global_mean * smoothing) / (count_in_category + smoothing)

Таким образом, target encoding — мощный инструмент, но требует аккуратного применения, чтобы избежать переобучения и утечки данных.