Насколько я понимаю, в машинном обучении может возникнуть проблема, если ваш набор данных имеет сильно коррелированные функции, поскольку они эффективно кодируют одну и ту же информацию.
Недавно кто-то указал, что когда вы выполняете однократное кодирование для категориальной переменной, вы получаете коррелированные функции, поэтому вы должны отбросить одну из них в качестве «ссылки».
Например, кодирование пола как двух переменных is_male
и is_female
создает две особенности, которые совершенно отрицательно коррелируют, поэтому они предложили просто использовать одну из них, эффективно установить базовую линию, чтобы сказать «мужской», а затем посмотреть, важен ли столбец is_female в прогнозирующем алгоритме. ,
Это имело смысл для меня, но я не нашел ничего в Интернете, чтобы предположить, что это может быть так, так что это неправильно или я что-то упустил?
Возможный (без ответа) дубликат: имеет ли значение коллинеарность функций с горячим кодированием для SVM и LogReg?
you end up with correlated features, so you should drop one of them as a "reference"
Фиктивные переменные или индикаторные переменные (это два имени, используемые в статистике, синонимы к «горячему кодированию» в машинном обучении) в любом случае попарно коррелируют, будь то все переменные k или k-1. Таким образом, лучшее слово является «статистически / информационным избыточным», а не «коррелированным».Does keeping all k values theoretically make them weaker features
, Нет (хотя я не уверен на 100%, что вы подразумеваете под «слабее»).using something like PCA
Обратите внимание, на всякий случай, что PCA на множестве манекенов, представляющих одну и ту же категориальную переменную, имеет мало практического смысла, потому что корреляции внутри набора манекенов отражают только отношения между частотами категории (поэтому, если все частоты равны, все корреляции равны до 1 / (к-1)).is_male
переменную, а не оба варианта? Возможно, это не имеет смысла в этом контексте, и это может быть проблемой, только если две разные переменные фактически кодируют одну и ту же информацию (например, высота в дюймах и высота в см).Ответы:
lm
glm
С другими моделями используйте те же принципы. Если полученные прогнозы зависят от того, какие столбцы вы пропустите, не делайте этого. В противном случае это нормально.
Пока что в этом ответе упоминаются только линейные (и некоторые слегка нелинейные) модели. Но как насчет очень нелинейных моделей, таких как деревья и случайные леса? Идеи категориального кодирования, такие как one-hot, основаны главным образом на линейных моделях и расширениях. Нет оснований полагать, что идеи, полученные из этого контекста, должны применяться без изменений для деревьев и лесов! для некоторых идей см. Регрессию случайных лесов с редкими данными в Python .
источник