0Pricing
Data Science Academy · Lezione

Codificare le colonne categoriche

Nozioni di base sulla codifica one-hot e delle etichette.

Codificare le colonne categoriche è una lezione Data Science Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Data Science Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Data Science Academy include 4 lezioni in totale.

Perché la codifica è importante

La maggior parte dei modelli comprende solo numeri, mentre i dati contengono molte parole come rosso o blu. La codifica trasforma queste etichette in numeri da cui il modello può imparare. 🔢

Nominale e ordinale

Alcune categorie hanno un ordine, come piccolo, medio e grande. Altre, come i nomi delle città, non lo hanno. Questo ordine determina quale codifica sia corretta.

Codifica delle etichette

La codifica delle etichette assegna a ogni categoria un intero: rosso diventa 0, blu diventa 1. È semplice, ma introduce un ordine che potrebbe non essere reale.

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
codes = le.fit_transform(df['color'])

La trappola dell'ordine fittizio

Se blu vale 1 e verde vale 2, un modello potrebbe pensare che verde sia maggiore di blu. Nei dati nominali, questa graduatoria falsa può ridurre la precisione.

Codifica one-hot

La codifica one-hot crea una nuova colonna per ogni categoria, contrassegnata con 1 o 0. Nessun ordine artificiale, solo indicatori chiari di sì o no.

get_dummies in pandas

Il modo più rapido per applicare la codifica one-hot in pandas è get_dummies. Basta passargli una colonna e ogni categoria verrà trasformata in una propria colonna con valori 0/1.

dummies = pd.get_dummies(df['color'])

Evitate la trappola delle variabili dummy

Le colonne sono perfettamente correlate, quindi ne elimini una con drop_first. In questo modo i modelli lineari restano stabili e si evitano informazioni ridondanti.

pd.get_dummies(df['color'], drop_first=True)

OneHotEncoder per le pipeline

Per i modelli, preferisca OneHotEncoder di scikit-learn. Tiene in memoria le categorie apprese, così i dati di addestramento e di test restano perfettamente allineati.

from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')

Codificate l'ordine intenzionalmente

Quando l'ordine è reale, definite voi la mappatura, così da trasformare i valori da piccolo a grande in 1 a 3. Una mappatura ordinale conserva il significato originale.

order = {'small': 1, 'medium': 2, 'large': 3}
df['size_num'] = df['size'].map(order)

Attenzione all'elevata cardinalità

Applicare la codifica one-hot a una colonna con migliaia di valori genera migliaia di colonne. In caso di elevata cardinalità, consideri prima di raggruppare i valori rari.

Gestite le categorie non viste

I nuovi dati possono contenere etichette che il codificatore non ha mai incontrato. Preveda questo caso, così una categoria non vista non bloccherà la fase di previsione.

Verifica rapida

La colonna dei colori non ha un ordine naturale. Quale codifica evita di inventare una graduatoria falsa?

Riepilogo: codifica

Ha trasformato le parole in numeri: one-hot per le categorie senza ordine, mappe ordinali per gli ordini reali e codifica delle etichette solo quando l'ordine non conta. 🎉

Domande Frequenti

La lezione «Codificare le colonne categoriche» è gratuita?

Sì — il testo completo di «Codificare le colonne categoriche» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Data Science Academy, passa a CoddyKit PRO. Il corso Data Science Academy include 4 lezioni in totale.

Cosa imparerò in «Codificare le colonne categoriche»?

Nozioni di base sulla codifica one-hot e delle etichette. Eserciti Data Science Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Data Science Academy?

Non è richiesta alcuna esperienza precedente. Data Science Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Codificare le colonne categoriche»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Data Science Academy?

Sì. Ogni lezione Data Science Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Raggruppare i numeri in categorie
  2. Codificare le colonne categoriche
  3. Scalare e normalizzare i numeri
  4. Creare feature da date e testo
← Torna a Data Science Academy