Можно ли заменить категориальные данные на числа в задачах классификации?

Вопрос или проблема

Я работаю с данными классификации, которые имеют 9 классов и множество признаков. Классы, очевидно, категориальные, как и некоторые признаки. Я использовал технику одноразового кодирования для преобразования категориальных данных в числовые. Вопрос в том, могу ли я вместо того, чтобы иметь 8 или 9 столбцов для каждого класса, каждый из которых имеет бинарное значение, иметь только один столбец метки класса, но со значениями от 0 до 8, где 0 представляет первый класс, а 8 представляет последний класс? Если это работает, могу ли я сделать то же самое со столбцами признаков или нет?

Заранее спасибо…

Примечание: данные в метках классов и признаках являются номинальными, а не порядковыми.

Я бы не стал рекомендовать такую практику.

Если вы используете это для вашей переменной результата, вы делаете неправильное предположение о распределении. Вы рискуете получить абсурдные прогнозы, такие как находиться между кошкой и крокодилом. С категориальным (мультикомпонентным) распределением вы получите дробные прогнозы, да, но их можно разумно интерпретировать как вероятности принадлежности классу. Вы можете использовать эти вероятности для классификации. Лучше того, вы можете оценить сами значения вероятностей! (1) (2)

Если вы делаете это для признаков, вы создаете порядок отношений (например, $cat<dog$) и позволяете арифметическим операциям происходить там, где не должно быть возможности сложить кошку и собаку и получить крокодила.

Одно место, где это будет приемлемо, — если ваше программное обеспечение знает интерпретировать целые числа как категории. Однако это означает лишь, что программное обеспечение достаточно умное, чтобы выполнять категориальное кодирование самостоятельно. Я подозреваю, что это скорее всего так для $y$, чем для признаков.

Привязка категориальных уровней к целочисленным значениям обычно называется хешированием признаков / трюком хеширования.

Хеширование признаков может быть полезным для некоторых алгоритмов машинного обучения (например, основанных на деревьях и нейронных сетях). Однако линейные модели (например, логистическая регрессия) не смогут выучить взаимосвязь между хешированными признаками и целевыми значениями.

Ответ или решение

Вопрос замены категориальных данных числовыми в задачах классификации является важным аспектом машинного обучения, требующим тщательного подхода. Давайте рассмотрим, можно ли заменить категориальные метки классов и признаки на числовые значения и какие могут быть последствия такого решения.

Классы

Первоначально, вы начали с проработки 8 или 9 классов, применив технику one-hot encoding для преобразования категориальных данных в числовой формат. Это правильный шаг, так как one-hot encoding позволяет моделям машинного обучения обрабатывать категориальные переменные более эффективно, избегая ложных предположений о порядке или расстоянии между классами.

Теперь вы рассматриваете возможность использования единого столбца класса с целыми числами от 0 до 8. Однако это может вызвать несколько серьезных проблем:

  1. Неверные предположения о распределении: Используя целые числа в качестве меток классов, вы фактически вводите числовую информацию, которой не существует. Например, интерпретация "класса 0" как меньшего по сравнению с "классом 8" основана на ложном предположении об их относительном порядке. Это создает риск нецелесообразных предсказаний, таких как вероятность нахождения на границе между классами, что не имеет смысла для номинальных данных.

  2. Проблемы с выводами классификаторов: Некоторые алгоритмы, такие как логистическая регрессия, будут пытаться выявить линейные зависимости между числовыми значениями. Это может привести к неожиданным выводам и неверной интерпретации, поскольку машинное обучение будет обучаться на данных, которые не отражают реальность.

Предпочтительным решением здесь будет оставить one-hot encoding для классов, чтобы поддерживать четкие границы между категориями и избегать потенциальных недоразумений, связанных с порядком.

Признаки

Что касается признаков, аналогичные соображения применимы к вашим идеям о замене категориальных признаков на целочисленные. Если ваши данные являются номинальными, это означает, что они не имеют внутреннего порядка. Обработка таких данных как упорядоченных может искажать результаты модели.

Опасности:

  • Вы создаете вымышленные взаимосвязи между признаками, которые не имеют оснований в реальности.
  • Это может привести к неправильной интерпретации модели и ее коэффициентов, что делает их бесполезными для принятия решений.

Исключения и выводы

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

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

Заключение

В целом, рекомендуется придерживаться методов, таких как one-hot encoding, для преобразования категориальных данных. Это позволит избежать множества проблем, связанных с предположениями о порядке и взаимосвязях между классами и признаками. Предпочтение следует отдавать методам, которые явно разделяют классы, обеспечивая их точность и надежность.

Принимая во внимание представленные аспекты, вы сможете оптимизировать свои модели классификации и повысить их предсказательную силу, избегая распространенных ошибок в работе с категориальными данными.

Оцените материал
Добавить комментарий

Капча загружается...