Кодирование категориальных переменных — это проблема, с которой могут столкнуться специалисты по данным при применении алгоритмов машинного обучения, поскольку эти алгоритмы поддерживают числовые переменные, но не категориальные переменные.
Что такое категориальные переменные?
Категориальные данные: означает категории, в которых значения хранятся в виде текста.
Другое определение: Категориальные данные — это данные, которые можно разделить на группы, такие как страны, пол, предметы и т. д.
Давайте начнем:
предполагая, что у вас есть эти данные (тема, оценка) и необходимо закодировать столбец темы.
Использование библиотеки sklearn:
Кодировщик ярлыков:
Закодируйте целевые метки со значениями от 0 до n_classes-1.
определите столбец «Тема», затем создайте объект LabelEncoder и примените fit_transform.
LableEncoder присваивает номер каждому уникальному предмету, где «Математика» занимает 2, «Наука» — 3 и так далее.
OneHotEncoder:
Закодируйте категориальные признаки как однократный числовой массив.
после создания объекта OneHotEncoder примените подходящее преобразование и преобразуйте в массив. OneHotEncoder создает столбец для каждой темы и присваивает значение 1 там, где находится тема.
Результатом здесь является массив, поэтому в первой строке значение 1 соответствует «Математике», а остальные предметы равны 0.
OneHotEncoder и ColumnTransformer:
[0]: укажите первый столбец «Тема», который необходимо закодировать.
Использование библиотеки панд:
get_dummies:
Преобразование категориальных переменных в фиктивные/индикаторные переменные
примените get_dummies к столбцу «тема».
весь код: