Categorical Variables

Оновлено: 31.07.2023

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

Очищення та обробка даних займає від 70 до 80 відсотків часу фахівця з даних. А категоріальне перетворення даних є неминучою операцією. Це не тільки підвищує точність моделі, але й допомагає в розробці функцій. Тепер питання полягає в тому, як ми можемо рухатися далі? Який тип категоріального кодування даних ми можемо використовувати?

Що таке категоріальні дані?

Оскільки в цій статті ми матимемо справу з категорійними змінними, ось короткий екскурс в цю тему з деякими прикладами. Категоріальні змінні мають скінченну кількість і зазвичай визначаються як "рядки" або "категорії". Нижче наведено кілька прикладів категорійних змінних:

  1. Місце проживання людини: Чикаго, Мумбаї, Нью-Йорк, Лондон тощо.
  2. Бізнес-відділи: HR (Human Resources), фінанси, IT (Information Technology), скоро.
  3. Вищий ступінь особи: середня школа, диплом, бакалавр, магістр, доктор.
.

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

  • Номінальні дані: Категорії не мають внутрішнього порядку.
  • Ординарні дані: Категорії розташовані у певному порядку.
.

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

Ми повинні розпізнавати наявність або відсутність функції при кодуванні номінальних даних. У такій ситуації немає відчуття порядку. Наприклад, рідне місто людини. Важливо відстежувати, де людина живе, для цілей даних. Тут немає якогось порядку чи серії. Немає різниці, чи живе людина в Делі, чи в Бангалорі.

Ординарні та номінальні змінні

Як випливає з назви, числові дані складаються виключно з числових елементів, таких як значення з плаваючою комою або цілі числа.

Категоріальні дані складаються зі змінних зі значеннями знаків, а не цілими значеннями.

Кількість потенційних значень часто обмежується невеликою кількістю.

  • "Змія" та "Черепаха" - значення атрибута "тварина".
  • "фіолетовий", "жовтий" та "чорний" - значення атрибута "колір".
  • "третій", "четвертий" та "п'ятий" - значення атрибута "місце".

Кожне значення відповідає окремій групі.

Деякі групи, наприклад, природне впорядкування, можуть мати природні стосунки одна з одною.

Значення атрибута/змінної "місце" мають природний порядок, як зазначалося вище. Оскільки значення можуть бути впорядковані або градуйовані, цей тип змінної є порядковою змінною.

Розбивши діапазон числової змінної на діапазони і присвоївши значення кожному діапазону, ви можете перетворити числову змінну на порядкову.

  • Номінальний (категоріальний) - змінна являє собою скінченну множину значень, які не пов'язані між собою.
  • Ординарний - змінна складається зі скінченної кількості значень, які розташовані в градуйованому порядку.
.

Деякі алгоритми можуть працювати безпосередньо з категоріальними даними.

Дерево рішень, як приклад, може бути отримане безпосередньо з категоріальних даних без необхідності будь-якого перетворення даних.

Багато алгоритмів ML не можуть працювати безпосередньо з даними етикеток. Вони вимагають, щоб усі вихідні та вхідні змінні були числовими.

Взагалі кажучи, це не стільки жорсткі обмеження на самі алгоритми, скільки обмеження на ефективну реалізацію алгоритмів ML.

Деякі алгоритми ML вимагають, щоб усі вхідні дані були числовими. Наприклад, це є обов'язковою умовою в scikit-learn.

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

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