Важность признаков с категоричными признаками высокой кардинальности для регрессии (числовая переменная отклонения)


12

Я пытался использовать значения функций из случайных лесов, чтобы выполнить эмпирический выбор объектов для задачи регрессии, в которой все объекты являются категориальными и многие из них имеют много уровней (порядка 100-1000). Учитывая, что горячее кодирование создает фиктивную переменную для каждого уровня, значения функций относятся к каждому уровню, а не к каждому элементу (столбцу). Каков хороший способ агрегирования этих важных функций?

Я думал о суммировании или получении средней важности для всех уровней функции (вероятно, первая будет смещена в сторону тех функций с большим количеством уровней). Есть ли какие-либо ссылки на этот вопрос?

Что еще можно сделать, чтобы уменьшить количество функций? Я знаю о группе Лассо, не мог найти ничего простого в использовании для scikit-learn.


Может ли кто-нибудь ответить на вопрос, имеет ли смысл суммировать значение переменной каждого уровня категориальной переменной?
24

@ see24 Нет , вы не можете просто подвести их: stats.stackexchange.com/questions/314567/...
Дан

Ответы:


5

Это зависит от того, как вы их горячо кодируете. Многие автоматизированные решения для этого будут называть все преобразованные логические значения шаблоном так, чтобы категориальная переменная, называемая «буквой», со значениями AZ заканчивалась следующим образом:

буква_A, буква_B, буква_C, буква_D, ....

Если после того, как вы выяснили важность функции, у вас есть массив функций и связанный вес / важность, я бы проанализировал массив и, возможно, суммировал веса важности функции для всего, что начинается с «буквы%».


3
Разве сумма не дает преимущества этим функциям с большим количеством уровней?
user90772

Хм, хорошая мысль. Возможно, суммируйте, а затем разделите на число уровней / закодированных переменных, чтобы получить «среднюю» важность.
CalZ

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

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

1
Многие люди выступают за то, чтобы рассматривать внутренние компоненты модели как черный ящик и вместо этого оценивать производительность. В некоторых случаях (например, нейронные сети) это происходит потому, что вы не можете глубоко исследовать это. Для некоторых , где вы можете легко получить представление о какие функции являются важными (например , линейная регрессия), вы можете легко вводить в заблуждение (см stats.stackexchange.com/questions/105114/... ). Я думаю, именно поэтому люди иногда уклоняются от глядя на индивидуальную особенность значение.
CalZ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.