В машинном обучении кодирование играет решающую роль в подготовке данных, преобразуя необработанные данные в числовой формат, который могут понимать модели машинного обучения. Давайте исследуем различные типы кодирования, используемые в машинном обучении:
Кодирование с одним горячим представлением - простой, но эффективный метод кодирования категориальных данных. Он создает новый столбец для каждой уникальной категории в столбце исходных данных. Каждое значение в новом столбце представляет собой бинарный признак, который равен 1, если наблюдение принадлежит этой категории, и 0 в противном случае.
Пример:
Предположим, у нас есть столбец с категориальными значениями: "красный", "синий" и "зеленый". Кодирование с одним горячим представлением создаст три новых столбца:
Red
: 1 для красного, 0 для других цветовBlue
: 1 для синего, 0 для других цветовGreen
: 1 для зеленого, 0 для других цветовHTML-код:
<table>
<tr>
<th>Color</th>
<th>Red</th>
<th>Blue</th>
<th>Green</th>
</tr>
<tr>
<td>Red</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>Blue</td>
<td>0</td>
<td>1</td>
<td>0</td>
</tr>
<tr>
<td>Green</td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
</table>
Байесовское кодирование присваивает уникальное целое число каждой уникальной категории в столбце исходных данных. В отличие от кодирования с одним горячим представлением, оно создает только один новый столбец.
Пример:
Предположим, мы используем тот же столбец с категориальными значениями: "красный", "синий" и "зеленый". Байесовское кодирование присвоит следующие значения:
HTML-код:
<table>
<tr>
<th>Color</th>
<th>Label</th>
</tr>
<tr>
<td>Red</td>
<td>0</td>
</tr>
<tr>
<td>Blue</td>
<td>1</td>
</tr>
<tr>
<td>Green</td>
<td>2</td>
</tr>
</table>
Кодирование частот указывает количество появлений каждой уникальной категории в столбце исходных данных. Оно создает один новый столбец, содержащий относительную частоту каждой категории.
Пример:
Предположим, у нас есть столбец с категориальными значениями: "красный", "синий", "зеленый" и "красный". Кодирование частот вычислит следующие частоты:
HTML-код:
<table>
<tr>
<th>Color</th>
<th>Frequency</th>
</tr>
<tr>
<td>Red</td>
<td>0.5</td>
</tr>
<tr>
<td>Blue</td>
<td>0.25</td>
</tr>
<tr>
<td>Green</td>
<td>0.25</td>
</tr>
</table>
Упорядоченное кодирование присваивает целые числа категориям в порядке возрастания или убывания. Оно применяется к категориальным данным, которые имеют естественный порядок.
Пример:
Предположим, у нас есть столбец с порядковыми значениями: "плохой", "нормальный", "хороший". Упорядоченное кодирование присвоит следующие значения:
HTML-код:
<table>
<tr>
<th>Rating</th>
<th>Ordinal</th>
</tr>
<tr>
<td>Bad</td>
<td>0</td>
</tr>
<tr>
<td>Normal</td>
<td>1</td>
</tr>
<tr>
<td>Good</td>
<td>2</td>
</tr>
</table>
Выбор правильного типа кодирования зависит от природы данных и модели машинного обучения, которую вы используете.