Target Encoding представляет собой метод кодирования категориальных признаков в числовые значения на основе статистической информации о целевой переменной (target variable). Он используется в задачах машинного обучения для улучшения производительности моделей, работающих с категориальными данными. Основная идея заключается в том, чтобы заменить категориальные значения средним значением целевой переменной для каждой категории.
Target Encoding может значительно улучшить качество модели, особенно когда категориальные признаки имеют много уникальных значений.
Поскольку категориальные признаки преобразуются в числовые, это может помочь устранить коллинеарность между признаками.
Этот метод уменьшает размерность признаков, что может привести к более эффективным и быстрым вычислениям.
Поскольку целевая переменная используется при кодировании, существует риск переобучения, особенно если датасет небольшой.
Если не использовать правильные методы кросс-валидации, это может привести к утечке данных и завышенной оценке модели.
Предположим, у нас есть данные о покупках, где категориальный признак "Продукт" и целевая переменная "Покупка" (0 - нет, 1 - да):
| Продукт | Покупка |
|----------|---------|
| A | 1 |
| A | 0 |
| B | 1 |
| B | 1 |
| C | 0 |
- Продукт A: (1 + 0) / 2 = 0.5
- Продукт B: (1 + 1) / 2 = 1
- Продукт C: 0 / 1 = 0
- Продукт A заменяется на 0.5
- Продукт B заменяется на 1
- Продукт C заменяется на 0
Преобразованная таблица будет выглядеть так:
| Продукт | Покупка |
|----------|---------|
| 0.5 | 1 |
| 0.5 | 0 |
| 1 | 1 |
| 1 | 1 |
| 0 | 0 |
Таким образом, Target Encoding позволяет использовать категориальные признаки в числовом формате, сохраняя важную информацию о целевой переменной.