Багато алгоритмів навчання або навчаються по одній вазі на особливості, або використовують відстані між зразками. Перша справа стосується лінійних моделей, таких як логістична регресія, які легко пояснити.
Припустимо, у вас є набір даних, що містить лише одну категоричну особливість "національність" зі значеннями "Великобританія", "Французька" та "США". Припустимо, не втрачаючи загальності, що вони кодуються як 0, 1 і 2. Тоді ви маєте вагу w для цієї функції в лінійному класифікаторі, який прийме якесь рішення на основі обмеження w × x + b> 0 , або еквівалентно w × x <b.
Зараз проблема полягає в тому, що вага w не може кодувати тристоронній вибір. Три можливі значення w × x - 0, w і 2 × w. Або всі ці троє призводять до одного і того ж рішення (вони всі <b або ≥b), або "Великобританія" і "Француз" призводять до одного і того ж рішення, або "Французький" і "США" дають одне і те ж рішення. Немає можливості для моделі дізнатися, що "Великобританія" та "США" повинні мати однакову марку, а "Французька" - непарна.
За допомогою гарячого кодування ви ефективно підіймете простір функцій до трьох функцій, кожен з яких отримає власну вагу, тому функція рішення тепер w [UK] x [UK] + w [FR] x [FR] + w [US] x [US] <b, де всі х є булевими. У цьому просторі така лінійна функція може виражати будь-яку суму / диз'юнкцію можливостей (наприклад, "Великобританія чи США", що може бути провісником для того, хто говорить англійською мовою).
Аналогічно, будь-який учень, що базується на стандартних показниках відстані (наприклад, k-найближчих сусідів) між зразками, заплутається без однокольорового кодування. При наївному кодуванні та евклідовій відстані відстань між французами та США дорівнює 1. Відстань між США та Великобританією 2. Але при однокольоровому кодуванні попарні відстані між [1, 0, 0], [0, 1 , 0] і [0, 0, 1] всі дорівнюють √2.
Це не стосується всіх алгоритмів навчання; дерева рішень та похідні моделі, такі як випадкові ліси, якщо досить глибокі, можуть обробляти категоричні змінні без однокольорового кодування.