Wiele algorytmów uczących się uczy się pojedynczej wagi dla cechy lub używa odległości między próbkami. Pierwsza dotyczy modeli liniowych, takich jak regresja logistyczna, które są łatwe do wyjaśnienia.
Załóżmy, że masz zbiór danych zawierający tylko jedną kategorię „narodowość” z wartościami „Wielka Brytania”, „Francuski” i „Stany Zjednoczone”. Załóżmy, bez utraty ogólności, że są one zakodowane jako 0, 1 i 2. Masz wtedy wagę w dla tej cechy w klasyfikatorze liniowym, który podejmie jakąś decyzję w oparciu o ograniczenie w × x + b> 0 lub równoważnie w × x <b.
Problem polega teraz na tym, że waga w nie może zakodować wyboru trójetapowego. Trzy możliwe wartości w × x to 0, w i 2 × w. Albo te trzy wszystkie prowadzą do tej samej decyzji (wszystkie są <b lub ≥b), albo „UK” i „francuski” prowadzą do tej samej decyzji, albo „francuski” i „USA” wydają tę samą decyzję. Model nie ma możliwości dowiedzenia się, że „UK” i „US” powinny mieć tę samą etykietę, z „francuskim” jako nieparzystym.
Dzięki jednokrotnemu kodowaniu efektywnie powiększasz przestrzeń funkcji do trzech funkcji, z których każda otrzyma własne wagi, więc funkcja decyzyjna jest teraz w [UK] x [UK] + w [FR] x [FR] + w [US] x [US] <b, gdzie wszystkie x są wartościami logicznymi. W tej przestrzeni taka funkcja liniowa może wyrazić dowolną sumę / dysjunkcję możliwości (np. „UK lub US”, które mogą być predyktorem dla kogoś mówiącego po angielsku).
Podobnie każdy uczeń oparty na standardowych metrykach odległości (takich jak k-najbliższych sąsiadów) między próbkami będzie zdezorientowany bez kodowania na gorąco. Przy kodowaniu naiwnym i odległości euklidesowej, odległość między francuskim a amerykańskim wynosi 1. Odległość między Stanami Zjednoczonymi a Wielką Brytanią wynosi 2. Ale przy kodowaniu jeden-gorący, odległości parami między [1, 0, 0], [0, 1 , 0] i [0, 0, 1] są równe √2.
Nie dotyczy to wszystkich algorytmów uczenia się; drzewa decyzyjne i modele pochodne, takie jak lasy losowe, jeśli są wystarczająco głębokie, mogą obsługiwać zmienne kategorialne bez kodowania typu one-hot.