One-hot кодирование категорий

Вставьте столбец категориальных значений по одному на строку — цвета, размеры, города — и получите таблицу one-hot: по столбцу на каждую категорию, 1 там, где в строке эта категория, и 0 в остальных. Уберите первый столбец, чтобы получить k − 1 фиктивных переменных для регрессии.

Формат
Порядок столбцов

Строк: 5, категорий: 3, столбцов 0/1: 3

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Вставьте значения одного категориального столбца по одному на строку.
  2. Выберите CSV, TSV (вставляется в таблицу Excel) или JSON.
  3. Выберите порядок столбцов: как категории встречаются впервые или по алфавиту (с учётом русского алфавита).
  4. Отметьте Убрать первую категорию для dummy-кодирования и решите, оставлять ли столбец с исходным значением.

Как это работает

Калькулятор собирает разные значения в выбранном порядке. Для каждой строки он пишет 0 во все столбцы категорий и 1 в столбец её собственного значения. В CSV категория с запятой, кавычкой или переносом строки берётся в кавычки, как требует стандарт CSV. При dummy-кодировании первая по порядку категория убирается, и её строки состоят из нулей.

Пример

Значения красный, зелёный, красный, синий в порядке появления дают три столбца:

value,красный,зелёный,синий
красный,1,0,0
зелёный,0,1,0
красный,1,0,0
синий,0,0,1

По алфавиту с удалением первой категории столбцы — красный и синий; зелёный, первый по алфавиту, убирается, и его строка становится 0,0.

Советы

  • Много категорий — много столбцов. Если значений сотни, сначала объедините редкие в «прочее».
  • Список категорий берите из обучающих данных. В конвейере модели для категории, которая встретилась только в новых данных, нужно правило — строка из нулей или столбец «неизвестно».
  • Excel с русской локалью ждёт CSV с точкой с запятой; для вставки в таблицу удобнее TSV.

Частые вопросы

Что такое one-hot кодирование?

Способ превратить категориальный признак в числа для машинного обучения. Каждая категория получает свой столбец; в строке стоит 1 в столбце её категории и 0 во всех остальных. В отличие от нумерации 1, 2, 3, такой способ не придумывает порядка и расстояний между категориями.

Чем one-hot отличается от dummy-кодирования?

При dummy-кодировании столбец одной категории убирается, и для k категорий остаётся k − 1 столбцов. Убранная категория — это строка из одних нулей. Это нужно линейной регрессии: k столбцов one-hot в сумме всегда дают 1 и полностью коллинеарны со свободным членом (ловушка фиктивных переменных).

Что с пустыми строками и пробелами?

Каждое значение обрезается по краям, пустые строки пропускаются. Регистр учитывается: «Москва» и «москва» станут двумя категориями. Если это одно и то же, сначала приведите данные к одному виду.

Это то же самое, что get_dummies в pandas или OneHotEncoder в scikit-learn?

Идея та же. pandas.get_dummies сортирует категории и умеет drop_first; OneHotEncoder из scikit-learn тоже сортирует их и умеет drop='first'. Выберите «По алфавиту», чтобы порядок столбцов совпал.

Ещё в разделе «Разработчикам»

Все инструменты раздела: Разработчикам ·Обновлено 7 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.