Кодирование функций — важный шаг в любом конвейере машинного обучения. Он включает преобразование категориальных признаков в числовые значения, которые могут использоваться алгоритмами машинного обучения.
Одним из популярных методов кодирования признаков является целевое кодирование, при котором каждая категория заменяется средним значением целевой переменной для этой категории. Целевое кодирование полезно при работе с категориальными переменными высокой мощности, но оно также может привести к переоснащению и смещению модели. В этой статье мы обсудим, как K-кратное целевое кодирование может помочь преодолеть эти проблемы и повысить точность модели.
Целевая кодировка
Целевое кодирование — это простой метод, который заменяет каждую категорию средним значением целевой переменной для этой категории. Например, предположим, что у нас есть набор данных с информацией о клиентах, и одной из характеристик является страна клиента. Мы можем использовать целевое кодирование, чтобы преобразовать эту категориальную характеристику в числовое значение, заменив каждую страну средней суммой покупки для клиентов из этой страны. Этот метод полезен, потому что он фиксирует взаимосвязь между категориальной переменной и целевой переменной, что может быть важно для точных прогнозов.
Однако целевое кодирование может привести к переоснащению и смещению модели, особенно при работе с категориальными переменными высокой кардинальности. Это связано с тем, что среднее значение целевой переменной для категории с несколькими примерами может не отражать истинное базовое распределение.
K-кратное целевое кодирование
K-кратное целевое кодирование — это вариант целевого кодирования, который помогает преодолеть проблемы переобучения и смещения. Он работает путем разделения данных на K сгибов, где каждый сгиб используется в качестве проверочного набора, а другие сгибы K-1 используются в качестве обучающего набора. Для каждой складки среднее значение целевой переменной для каждой категории вычисляется в обучающем наборе и используется для кодирования категорий в проверочном наборе. Это гарантирует, что кодирование основано только на обучающем наборе и менее подвержено переобучению и систематической ошибке.
Шаги для выполнения K-кратного целевого кодирования следующие:
- Разделите данные на K раз.
- Для каждой складки: а. Разделите данные на наборы для обучения и проверки. б. Вычислите среднее значение целевой переменной для каждой категории в обучающем наборе. в. Используйте среднее значение целевой переменной для кодирования категорий в наборе проверки.
- Объедините закодированные наборы проверки из всех K складок, чтобы создать окончательный закодированный признак.
K-кратное целевое кодирование — это мощный метод кодирования признаков, который может повысить точность моделей машинного обучения, особенно при работе с категориальными переменными высокой мощности. Кодируя категориальные переменные на основе обучающего набора, K-кратное целевое кодирование помогает преодолеть проблемы переобучения и смещения, связанные с целевым кодированием.
Таким образом, разделяя данные на K-кратные и кодируя категории на основе обучающего набора, K-кратное целевое кодирование помогает преодолеть проблемы переобучения и смещения, связанные с целевым кодированием.
Спасибо за чтение!!!