Видалення одного з стовпців при використанні однокольорового кодування


22

Я розумію, що при машинному навчанні це може бути проблемою, якщо ваш набір даних має дуже корельовані функції, оскільки вони ефективно кодують ту саму інформацію.

Нещодавно хтось зазначав, що коли ви робите одноразове кодування за категоріальною змінною, ви отримуєте корельовані функції, тому вам слід відкинути один із них як "посилання".

Наприклад, кодування статі як двох змінних is_maleі is_femaleвиробляє дві особливості, які ідеально негативно співвідносяться, тому вони запропонували просто використовувати одну з них, ефективно встановивши базову лінію, щоб сказати чоловіки, а потім побачити, чи важливий стовпчик is_fena в алгоритмі прогнозування .

Це мало сенс для мене, але я не знайшов нічого в Інтернеті, щоб припустити, що це може бути так, так це неправильно чи я щось пропускаю?

Можливий (без відповіді) дублікат: Чи має значення колінеарність одних гарячих кодованих функцій для SVM та LogReg?


8
you end up with correlated features, so you should drop one of them as a "reference"Манекенні змінні або індикаторні змінні (це два назви, що використовуються в статистиці, синонімічні до "гарячого кодування" в машинному навчанні), так чи інакше, співвідносяться попарно, будь то k або k-1 змінні. Отже, краще слово "статистично / інформаційно надлишкове", а не "співвідносне".
ttnphns

Набір усіх k манекенів - це мультиколінеарний набір, тому що якщо ви знаєте значення k-1 манекенів у даних, ви автоматично знаєте значення останніх манекенів. Деякі методи чи алгоритми аналізу даних вимагають, щоб ви кинули один із k. Інші здатні впоратися з усіма к.
ttnphns

@ttnphns: дякую, це має сенс. Чи теоретично зберігання всіх k-значень робить їх слабшими характеристиками, які можна / слід усунути зі зменшенням розмірності? Одним з аргументів для використання чогось типу PCA є часто видалення корельованих / зайвих функцій, мені цікаво, чи зберігання всіх k змінних потрапляє до цієї категорії.
дасбот

Does keeping all k values theoretically make them weaker features. Ні (хоча я не на 100% впевнений, що ви маєте на увазі під "слабкішими"). using something like PCAЗауважте, про всяк випадок, що PCA на наборі манекенів, що представляють одну і ту ж категоричну змінну, має мало практичного значення, оскільки кореляції всередині набору манекенів відображають лише співвідношення між частотними категоріями (тому, якщо всі частоти рівні, всі кореляції рівні до 1 / (k-1)).
ttnphns

Що я маю на увазі, коли ви використовуєте свою модель для оцінки важливості функції (наприклад, з випадковим лісом), чи буде вона недооцінена важливість цієї змінної, якщо ви включите всі k значення? Як і в, чи отримуєте ви "правдиву" оцінку важливості статі, якщо ви використовуєте лише is_maleзмінну на відміну від обох варіантів? Можливо, це не має сенсу в цьому контексті, і це може бути проблемою лише тоді, коли у вас є дві різні змінні, що фактично кодують одну і ту ж інформацію (наприклад, висота в дюймах і висота в см).
дасбот

Відповіді:


24

lmglm

З іншими моделями використовуйте ті самі принципи. Якщо отримані прогнози залежать від того, які стовпці ви залишите, не робіть цього. Інакше це добре.

Поки що ця відповідь згадує лише лінійні (і деякі м'яко нелінійні) моделі. Але як щодо дуже нелінійних моделей, таких як дерева та випадкові ліси? Ідеї ​​про категоріальне кодування, як-то гаряче, походять, головним чином, від лінійних моделей та розширень. Мало підстав думати, що ідеї, витікаючі з цього контексту, повинні застосовуватися без змін для дерев та лісів! для деяких ідей див. випадкову регресію лісу з розрідженими даними в Python .

β,β2,β3β1=0β2β1,β3β1


Я можу погодитись, що вибір еталонної змінної вплине на результат регульованої регресії, але я не дуже впевнений, що якщо залишити всі змінні як краще, то краще, ніж випадати. У вас є якісь причини для цього?
Кота Морі

Ну, лише дві альтернативи ... Зберігання всіх рівнів зберігає інваріантність і свавілля немає. Якщо у вас є інші причини, які хочуть зменшити кількість рівнів, таких як їх занадто багато, ви повинні сказати нам про це
kjetil b halvorsen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.