Что такое target encoding?
Ответ от нейросети
sobes.tech AI
Target encoding — это метод кодирования категориальных признаков в числовые значения на основе статистик целевой переменной. Вместо простого one-hot кодирования, для каждой категории вычисляется, например, среднее значение целевой переменной (target) для объектов с этой категорией.
Это помогает моделям лучше использовать информацию о связи категорий с целевой переменной, особенно когда категорий много и one-hot кодирование приводит к высокой размерности.
Пример:
Если у нас есть признак "город" и целевая переменная — цена дома, то для каждого города вычисляем среднюю цену домов и заменяем категорию на это число.
import pandas as pd
data = pd.DataFrame({
'city': ['A', 'B', 'A', 'C', 'B'],
'price': [100, 150, 120, 130, 160]
})
mean_target = data.groupby('city')['price'].mean()
data['city_encoded'] = data['city'].map(mean_target)
print(data)
Важно применять регуляризацию и кросс-валидацию при использовании target encoding, чтобы избежать утечки информации и переобучения.