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

Что касается вашей кривой обучения ИИ и машинному обучению, то обычно большинство алгоритмов работают лучше с числовым вводом.

Инженеру по машинному обучению необходимо преобразовывать категориальные данные в числовые значения, поскольку машины понимают числа, а не строки.
Несмотря на то, что большинство будущих ученых и инженеров знакомы с преобразованием категорийных данных в числовые значения с использованием методов кодирования Label, Ordinal и One-Hot, они часто используются неправильно.

В этой статье подробно объясняются вышеупомянутые концепции и подчеркивается причина, по которой метод get_dummies из pandas не следует использовать при предварительной обработке категориальных данных.

Кодировка ярлыка

В Label Encoding мы конвертируем целевые категории в числовые значения, чтобы сделать их машиночитаемыми. Целевая категория — это категория, значения которой моделируются и прогнозируются другими переменными.

В нашем примере данных мы хотим предсказать, может ли человек заниматься мошенничеством, учитывая демографические данные, такие как возраст, пол, доход и квалификация. Здесь наш целевой столбец — «Классификация мошенничества». Чтобы преобразовать это, мы кодируем категории Fraud и No_Fraud в 0 и 1 соответственно.

Как показано в приведенном выше коде Python, мы умоляли Label Encoding SKLearn присвоить 0 для мошенничества и 1 для No_Fraud. Это привело к изменению типа данных со строковой категории на целое число 0 и 1.

Порядковое кодирование

Это простой подход, похожий на кодирование меток, но он включает в себя кодирование переменных-предикторов, а не целевого столбца. Он используется для порядковых категорий данных. Порядковые данные — это данные, состоящие из набора порядков или шкал.

Например, список пациентов состоит из уровня сахара в организме человека, который можно разделить на высокий, низкий и средний классы, или класс, полученный выпускником университета, подразделяется на первый класс, второй класс, третий класс и пройти.

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

В приведенном выше коде мы изменили наши категории на числовые значения. Это означает, что 0 присваивается категории «Безработный» с самым низким рейтингом, а 4 — «Докторская степень» с самым высоким рейтингом.

Следующий шаг…

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

Во второй части нашей статьи мы рассмотрим методы One-Hot Encoding и узнаем, почему get_dummies от pandas не идеален для кодирования в продакшене.