Набір інструментів вченого з даних для кодування категоріальних змінних до числових від Dr.
Доктор Деймен
17 грудня 2019 · 11 хв читання
Кодування категоріальних змінних у числові змінні є частиною щоденної роботи вченого з даних. Я хотів записати кілька порад читачам, яким потрібно кодувати категоріальні змінні. Методи, наведені в цій статті, є часто використовуваними в моїй професійній роботі. Сподіваюся, ця стаття допоможе вам у будь-яких додаткових перетвореннях для підвищення продуктивності вашої моделі. Нижче наведені методи:

(A) Одне гаряче кодування
(Б) Вага доказів
(C) Цільове кодування
(D) Залиште одноразове кодування
(E) Порядкове кодування
(F) Хеш-кодування:
Оскільки ви можете створити експонати візуалізації даних для нових змінних, варто переглянути мою серію статей про візуалізацію даних, включаючи «Pandas-Bokeh, щоб зробити приголомшливі інтерактивні сюжети легкими», «Використовуйте Seaborn, щоб робити красиві сюжети Легко »,« Потужні сюжети з сюжетом »та« Створення чудових географічних карт за допомогою сюжету ». Моя мета у статтях щодо візуалізації даних - допомогти вам легко та якісно створювати експонати та уявлення про візуалізацію даних. Якщо ви хочете застосувати всі ці коди візуалізації даних або зробити свою роботу більш досвідченою, подивіться на них. Я писав статті на різні теми з питань даних. Для зручності використання ви можете додати до мого зведеного допису «Навчальні шляхи Dataman - формуйте свої навички, керуйте своєю кар’єрою», де перелічені посилання на всі статті.
(A) ОДНОГАРЯЧЕ КОДУВАННЯ
Фіктивне кодування та одноразове кодування - це одне й те саме; перший термін походить від статистики, а другий - від електротехніки (електроніки). Дозвольте пояснити тонку різницю. Оскільки регресійна модель може приймати лише числові змінні, статистика давно вирішила проблему, перетворивши категоріальну змінну з n значень у n-1 фіктивних змінних. Чому n-1? Це робиться для того, щоб уникнути питання мультиколінеарності (пояснюється пізніше). Кодування в режимі "гарячого" перетворює категоріальну змінну з n значень у n фіктивну змінну. Усі створені змінні мають значення 1 і 0. Однак сьогоднішнє програмне забезпечення дозволяє вам створити всі фіктивні змінні та дозволити вам вирішити, яку фіктивну змінну кинути, щоб запобігти проблемі мультиколінеарності.
Існує безліч модулів Python, що мають справу з гарячим кодуванням. Тут я представляю get_dummies Pandas та OneHotEncoder category_encoders. Ви можете встановити модуль encode_category за допомогою pip install category_encoders. Щоб представити вам реальний випадок, я використовую набір даних Home Credit Risk за замовчуванням від Kaggle, щоб продемонструвати методи кодування. Існує 18 категорій плюс відсутні (NaN) для змінної “тип_зайнятості”, як показано нижче.
Фіктивні змінні створюються за допомогою pd.get_dummies (df ['OCCPATION_TYPE'], dummy_na = True). Потім я додаю фіктивні змінні назад до даних. Результати стають: