В процессе преподавания студентам разных айтишных предметов стало очень актуально различать ответы студентов от ответов не-студентов. Вот, пожалуй, и начнём с каверзных вопросов.
Полагаю, пояснения оставим за кадром.
Вопрос: почему gender male = 1 а female = 0?
Присвоение числовых значений категориальным признакам (вроде пола) называется кодированием. Использование
male = 1
иfemale = 0
— это один из распространенных методов, называемый бинарным кодированием или кодированием индикатором. Вот основные причины, почему так делают:
Двоичная логика и простота:
Цифры
0
и1
— основа двоичной системы, понятной компьютерам.
1
часто ассоциируется с наличием признака,0
— с его отсутствием.В этом контексте
1
может условно означать "это мужчина" (признак "мужской" присутствует), а0
— "это не мужчина" (признак "мужской" отсутствует, значит, женщина). Это не говорит о ценности, а лишь о наличии/отсутствии конкретного индикатора.Исторический контекст и "базовый" уровень:
В статистике и эконометрике, особенно в регрессионном анализе, одна из категорий выбирается в качестве референтной (базовой, контрольной) группы. Коэффициенты модели интерпретируются относительно этой группы.
Исторически (и к сожалению, часто из-за патриархальных структур) мужчина выбирался как "стандартная" или "базовая" категория в многих областях (медицина, социальные науки раннего периода). Поэтому
female = 0
означало принадлежность к базовой группе (мужчины), аmale = 1
— отклонение от нее (признак "женщина").Важное замечание: Это не означает, что мужчины "лучше" или являются нормой в ценностном смысле. Это чисто технический выбор базового уровня для сравнения. Анализ можно провести и наоборот (
female = 1
,male = 0
), интерпретация коэффициентов просто изменится относительно женщин.Эффективность для бинарных признаков:
Для признака с ровно двумя категориями (бинарного) достаточно одной новой колонки (
пол_мужчина
). Значение1
в этой колонке означает мужчину,0
— женщину (или наоборот). Это компактно и не создает избыточности.Удобство для некоторых алгоритмов:
Многие алгоритмы машинного обучения (особенно линейные модели, логистическая регрессия) работают с числовыми данными. Бинарное кодирование преобразует категорию в число, сохраняя информацию о различии между группами.
That's all folks! (c)
Ох, сколь AI открытий чудных
Готовит, обученья дух,
Но об этом позже, позже...