Quali sono i metodi per lavorare con variabili categoriche?
sobes.tech AI
Risposta dell'AI
Le caratteristiche categoriche nell'apprendimento automatico vengono trattate principalmente in diversi modi:
-
Codifica delle etichette (Label Encoding) — a ogni categoria viene assegnato un numero unico. Adatto per categorie ordinate, ma può confondere il modello se l'ordine non è presente.
-
Codifica one-hot — viene creata una caratteristica binaria per ogni categoria. Ad esempio, la caratteristica "Colore" con categorie {rosso, blu, verde} viene trasformata in tre caratteristiche binarie.
-
Codifica target (Target Encoding) — le categorie vengono sostituite con statistiche della variabile target (ad esempio, il valore medio della variabile target per ogni categoria). Richiede cautela per evitare perdite di dati.
-
Codifica per frequenza — le categorie vengono sostituite con la frequenza di occorrenza nei dati.
-
Embeddings — per categorie con un grande numero di valori unici (ad esempio, in NLP), si utilizzano rappresentazioni vettoriali, addestrate insieme al modello.
La scelta del metodo dipende dal compito, dal modello e dal volume di dati. Ad esempio, per gli alberi decisionali spesso basta il Label o One-Hot Encoding, mentre per le reti neurali — embeddings.
Esempio di One-Hot Encoding in Python con pandas:
import pandas as pd
df = pd.DataFrame({'Colore': ['rosso', 'blu', 'verde', 'blu']})
df_encoded = pd.get_dummies(df, columns=['Colore'])
print(df_encoded)
Risultato:
Colore_rosso Colore_verde Colore_blu
0 1 0 0
1 0 0 1
2 0 1 0
3 0 0 1