Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

Обработка категориальных переменных

Все темы Data Scientist

Чем различаются One-hot, Label, Helmert и Frequency Encoding?

Вот сравнение этих методов кодирования категориальных переменных:

  1. One-hot Encoder: Создает новый бинарный признак для каждой уникальной категории исходного признака. Используется, когда порядок категорий не имеет значения.

  2. LabelEncoder в scikit-learn кодирует целевые метки y. Для категориальных признаков X используют OrdinalEncoder; при смысловом порядке категорий его задают явно.

  3. Helmert Encoding: задаёт контрасты между уровнями категории. В реализации category_encoders каждый уровень сравнивается со средним предыдущих уровней через фиксированную матрицу кодирования. Это не вычисление средних целевой переменной и не сравнение только с одной предыдущей категорией.

  4. Frequency Encoder: Заменяет каждую категорию на частоту ее встречаемости в исходном признаке. Может быть полезным, если частота категорий важна для модели.


Какие методы вы используете для преобразования категориальных переменных?

Часто используемые методы для преобразования категориальных переменных:

  1. One-hot Encoding: Для переменных без упорядоченных категорий, где каждая категория равнозначна.

  2. Label Encoding: Для переменных с упорядоченными категориями или когда порядок имеет значение.

  3. Target Encoding: заменяет категорию оценкой целевой переменной, например средним y. Чтобы избежать утечки, кодирование обучающих строк рассчитывают без их собственных целевых значений, обычно через кросс-валидацию.

Эта страница была полезной?