Sobes.tech
Middle

Jakie są metody pracy z cechami kategorycznymi?

sobes.tech AI

Odpowiedź od AI

Cechy kategoryczne w uczeniu maszynowym są obsługiwane głównie na kilka podstawowych sposobów:

  1. Kodowanie etykiet (Label Encoding) — każdej kategorii przypisywana jest unikalna liczba. Nadaje się do uporządkowanych kategorii, ale może wprowadzić w błąd model, jeśli brak jest porządku.

  2. Kodowanie one-hot — dla każdej kategorii tworzona jest binarna cecha. Na przykład cecha "Kolor" z kategoriami {czerwony, niebieski, zielony} jest zamieniana na trzy cechy binarne.

  3. Kodowanie celu (Target Encoding) — kategorie są zastępowane statystykami zmiennej celu (np. średnią wartością zmiennej celu dla każdej kategorii). Wymaga ostrożności, aby uniknąć wycieku danych.

  4. Kodowanie na podstawie częstotliwości — kategorie są zastępowane ich częstością występowania w danych.

  5. Embeddings — dla kategorii z dużą liczbą unikalnych wartości (np. w NLP) używa się reprezentacji wektorowych, uczonych wspólnie z modelem.

Wybór metody zależy od zadania, modelu i ilości danych. Na przykład, dla drzew decyzyjnych często wystarczy kodowanie Label lub One-Hot, a dla sieci neuronowych — embeddings.

Przykład kodowania one-hot w Pythonie z pandas:

import pandas as pd

df = pd.DataFrame({'Kolor': ['czerwony', 'niebieski', 'zielony', 'niebieski']})
df_encoded = pd.get_dummies(df, columns=['Kolor'])
print(df_encoded)

Wynik:

   Kolor_czerwony  Kolor_zielony  Kolor_niebieski
0             1             0               0
1             0             0               1
2             0             1               0
3             0             0               1