Почему One-Hot Coding в машинном обучении

машинное обучение искусственный интеллект Программа перевода самородков
Почему One-Hot Coding в машинном обучении

Почему One-Hot Coding в машинном обучении?

Начало работы с приложениями машинного обучения, особенно при работе с реальными данными, может быть затруднено.

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

Среди них хорошим примером является однократное кодирование (также известное как однократное кодирование) для категориальных данных (Categorical data).

  • Зачем нужно One-Hot кодирование?
  • Почему вы не можете просто использовать данные, чтобы подогнать модель?

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

Что такое категориальные данные?

Категориальные данные — это переменная, которая имеет только значения меток и не имеет числовых значений.

Его значения обычно принадлежат фиксированному и конечному множеству.

Категориальные переменные также часто называютНоминальная стоимость (номинал).

Следующие примеры иллюстрируют:

  • Переменная pet содержит следующие значения: собака, кошка.
  • Переменная цвета содержит следующие значения: красный, зеленый и синий.
  • Переменная места содержит следующие значения: первое, второе и третье.

Каждое значение в приведенном выше примере представляет отдельную категорию.

Некоторые категории имеют определенные естественные отношения друг с другом, такие как естественные отношения упорядочения.

В приведенном выше примере значения переменной place имеют это естественное отношение порядка. Такие переменные называются порядковыми переменными.

Что не так с категориальными данными?

Некоторые алгоритмы можно применять непосредственно к категориальным данным.

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

Но существует множество алгоритмов машинного обучения, которые напрямую не манипулируют помеченными данными. Эти алгоритмы требуют, чтобы все входные и выходные переменные были числовыми.

Как правило, это ограничение в основном связано с эффективной реализацией этих алгоритмов машинного обучения, а не с ограничениями самих алгоритмов.

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

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

Это состоит из двух шагов:

  1. Целочисленное кодирование
  2. Горячее кодирование

1. Целочисленное кодирование

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

Например, используйте 1 для красного, 2 для зеленого и 3 для синего.

Этот способ называется кодированием меток или целочисленным кодированием, и его легко восстановить обратно к значению категории.

Для некоторых переменных этого кодирования достаточно.

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

Например, хорошим примером является порядковая переменная в предыдущем примере. Для этого нам нужно только сделать кодировку метки.

2. Горячее кодирование

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

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

В этом случае используйте кодировку One-Hot для целочисленного представления. Кодирование One-Hot удаляет целочисленное кодирование и создает двоичную переменную для каждого целочисленного значения.

В примере с цветом есть 3 категории, поэтому для кодирования необходимы 3 двоичные переменные. Соответствующая цветовая позиция будет отмечена «1», а другие цветовые позиции будут отмечены «0».

Например:

red, green, blue
1, 0, 0
0, 1, 0
0, 0, 1

В таких областях, как статистика, такие двоичные переменные часто называют «фиктивными переменными» или «фиктивными переменными».

Учебник по быстрому кодированию

Если вы хотите узнать, как One-Hot ваши данные в Python, см.:

Расширенное чтение

Суммировать

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

Обратите особое внимание на:

  • Категориальные данные определяются как переменная, состоящая из конечного набора значений.
  • Большинство алгоритмов машинного обучения принимают числовые переменные в качестве входных данных и выводят числовые переменные.
  • Категориальные данные могут быть преобразованы в целочисленные данные с помощью целочисленного кодирования и кодирования One-Hot.

Другие вопросы?

Пожалуйста, оставляйте свои вопросы в комментариях, я постараюсь на них ответить.

Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.