Статья Автор: Деникина Н.В., Деникин А.В.

Нужно ли превращать категории в числа

В этой таблице вид транспорта записан словами:

  A B C
1 trip_id transport duration_min
2 1 bike 18
3 2 car 27
4 3 bike 22
5 4 scooter 15
6 5 car 31

Можно подумать: «раз мы работаем с данными, наверное, всё нужно сначала превратить в числа». Для обычного анализа pandas это неверно.

Категория может оставаться строкой. Важно не то, число это или слово, а то, какие операции нам нужны.

Инструменты

Например, частоты строковых категорий считаются напрямую:



Можно и явно пометить столбец как категориальный:



А зачем тогда числа понадобятся в машинном обучении?

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

Просто назначить bike = 1, car = 2, scooter = 3 часто опасно: модель может увидеть искусственный порядок, которого в реальности нет.
 


Проверь себя

Отметьте верные утверждения.


Подробный разбор

value_counts(), фильтрация и группировки работают со строковыми категориями.

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

Печать