Один хот и взаимодействие один хот на нескольких категориальных.

Вопрос или проблема

Мне интересно, есть ли смысл создавать комбинированные признаки из нескольких категориальных переменных, когда отдельные категориальные переменные уже закодированы методом one-hot?

Простой пример: есть переменная P с категориями {X, Y} и переменная Q с категориями {Z, W}. После one-hot у нас будет 4 переменные: P.X, P.Y, Q.Z и Q.W.

В этом сценарии мне интересно, сможет ли алгоритм (Xgboost или глубокая нейронная сеть) достаточно хорошо научиться взаимодействиям между ними, или есть дополнительная ценность в создании переменных: X.Z, X.W, Y.Z, Y.W, которые будут уникальными комбинациями P и Q.

Причина, по которой я спрашиваю, заключается в том, чтобы попытаться оценить, стоит ли начинать создавать эти взаимодействующие переменные в моем реальном сценарии, где у меня есть 7 подобных категориальных признаков и по 6-15 категорий в каждом, что может означать тысячи новых переменных для учета всех возможных уровней перестановок.

Деревянные модели смогут выявить взаимодействие, независимо от того, закодированы ли они метками или OHE.
Если вы отдельно создадите все комбинации значений категорий как новые признаки, то для взаимодействия ничего не останется (по крайней мере, первого уровня).

Например, давайте возьмем признаки
P – {X, Y}
Q – {Z, W}

Предположим, P и Q взаимодействуют на X и W.
Если мы закодируем метками – мы увидим несколько последовательных разбиений по P==X и Q==W.
Если вы примените OHE – вы увидите несколько последовательных разбиений по Is_P_X и Is_Q_W (так как это теперь отдельные признаки).
В этих случаях вам нужно будет наблюдать за разбиениями, чтобы увидеть взаимодействие или использовать график частичной зависимости или аналогичные подходы.

Если вы создаете признаки на всех комбинациях
В этом случае вы увидите очень высокую важность признака для признака X_W, который на самом деле является результатом взаимодействия, но вы не увидите это как последовательные разбиения на двух признаках, а как разбиение на одном признаке, т.е. X_W
В этих случаях вы можете наблюдать взаимодействие с помощью важности признаков.

На тестовых данных, где я добавил эффект взаимодействия на выходе для воскресенья и ветреной погоды.

Изображение 01Показ взаимодействия в разбиениях

вставьте описание изображения здесь

Изображение 02Просто разбиение на Sun_Breezy, когда каждая комбинация является отдельным признаком

вставьте описание изображения здесь

Ответ или решение

Оценка целесообразности создания комбинированных признаков из множественных категориальных переменных

Введение

В области машинного обучения правильная обработка категориальных переменных является ключевым этапом предварительной обработки данных. Одним из распространенных методов является кодирование "one-hot", которое преобразует категориальные данные в бинарные признаки. Однако вопрос о том, следует ли создавать взаимодействия между уже закодированными переменными, остается открытым. В данной статье мы рассмотрим, следует ли создавать комбинированные признаки для улучшения производительности алгоритмов, таких как XGBoost и нейронные сети.

Теория взаимодействий

Когда у нас есть две категориальные переменные, например, P с категориями {X, Y} и Q с категориями {Z, W}, после применения кодирования "one-hot" мы получаем признаки: P.X, P.Y, Q.Z и Q.W. В данной ситуации возникает вопрос: будет ли алгоритм достаточно эффективно учить взаимодействия между этими признаками, или стоит рассмотреть создание новых переменных, таких как X.Z, X.W, Y.Z и Y.W, что приведет к увеличению размерности данных.

Модели деревьев и взаимодействия

Следует отметить, что модели деревьев, такие как XGBoost, способны улавливать взаимодействия между признаками без необходимости в их явном создании. При использовании кодирования "one-hot", алгоритм будет производить множественные последовательные разделения по переменным, таким как Is_P_X и Is_Q_W, эффективно определяя взаимодействия на уровне дерева. Эти разделения также могут быть проанализированы с помощью графиков зависимости или частичной зависимости.

Создание комбинированных признаков

Если вы решите создать новые признаки для всех возможных комбинаций категорий, то, хотя это и позволит явно задать взаимодействия, это также приведет к возникновению переобучения, если количество новых признаков станет слишком велико по сравнению с объемом обучающих данных. Например, если вы имеете 7 категориальных признаков с 6-15 категориями каждый, вы можете легко оказаться в ситуации, когда количество созданных новых переменных измеряется тысячами.

В таком случае создаваемые признаки, такие как X_W, могут получать значительную оценку важности, однако это может быть искажением, так как они будут представлять собой взаимодействие, а не последовательные деления на два отдельных признака. Это затруднит интерпретацию результатов.

Альтернативные подходы

Вместо создания всех возможных комбинаций вы можете рассмотреть альтернативные методы, включая:

  1. Уменьшение размерности: Использование методов, таких как PCA, для снижения размерности данных.
  2. Использование алгоритмов, учитывающих взаимодействия: Рассмотрите возможность применения моделей, которые изначально учитывают взаимодействия, как, например, градиентный бустинг на деревьях решений.
  3. Регуляризация: Применение регуляризации для предотвращения переобучения в случаях, когда размерность значительна.

Заключение

Таким образом, создание комбинированных признаков может быть полезно в определенных контекстах, однако важно тщательно оценить необходимый объем новых переменных в зависимости от специфики задачи и количества имеющихся данных. В большинстве случаев эффективность алгоритмов машинного обучения, таких как XGBoost, вполне достаточна для выявления взаимодействий между переменными, что может избавить вас от необходимости создавать тысячи новых признаков. Основной акцент следует делать на интерпретируемости модели и ее способности обобщать данные.

Оцените материал
Добавить комментарий

Капча загружается...