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:
-
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.
-
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.
-
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.
-
Kodowanie na podstawie częstotliwości — kategorie są zastępowane ich częstością występowania w danych.
-
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