Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Codifica delle Variabili Categoriali | Tecniche di Trasformazione dei Dati
Preprocessing dei Dati e Feature Engineering

bookCodifica delle Variabili Categoriali

Le variabili categoriche sono caratteristiche nei dati che rappresentano categorie anziché valori numerici. Esempi includono colori come "red", "green" e "blue", oppure etichette come "yes" e "no". Gli algoritmi di apprendimento automatico richiedono che i dati di input siano numerici, quindi è necessario convertire queste variabili categoriche in un formato numerico prima di utilizzarle nei modelli. Questo processo si chiama codifica e garantisce che gli algoritmi possano interpretare e apprendere efficacemente dai dati.

Note
Definizione

La one-hot encoding crea una nuova colonna binaria per ciascuna categoria di una variabile categorica. Ogni osservazione riceve un 1 nella colonna corrispondente alla propria categoria e 0 altrove.

12345678910111213
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # One-hot encode the 'embarked' column embarked_encoded = pd.get_dummies(data["embarked"], prefix="embarked") # Concatenate with original dataset data = pd.concat([data, embarked_encoded], axis=1) print(data[["embarked", "embarked_C", "embarked_Q", "embarked_S"]].head())
copy
Note
Definizione

L'encoding delle etichette assegna a ciascuna categoria unica in una variabile un valore intero, trasformando le etichette di testo in numeri.

123456789101112
import seaborn as sns import pandas as pd from sklearn.preprocessing import LabelEncoder # Load Titanic dataset data = sns.load_dataset("titanic") # Label encode the 'sex' column encoder = LabelEncoder() data["sex_encoded"] = encoder.fit_transform(data["sex"]) print(data[["sex", "sex_encoded"]].head())
copy
Note
Definizione

L'order encoding assegna valori interi ordinati alle categorie in base alla loro classifica naturale. Questo metodo preserva l'ordine intrinseco nelle variabili categoriche ordinali, come i livelli di istruzione ("high school", "bachelor", "master", "doctorate").

123456789101112131415161718
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # Define the order of passenger classes: First < Second < Third class_order = ["First", "Second", "Third"] # Apply ordered categorical encoding data["class_encoded"] = pd.Categorical( data["class"], categories=class_order, ordered=True ).codes + 1 # +1 to make classes start from 1 instead of 0 # Display sample output print(data[["class", "class_encoded"]].head())
copy
Note
Nota

Prestare attenzione durante la codifica delle variabili categoriche. La codifica one-hot può introdurre il problema delle variabili fittizie - una situazione in cui le caratteristiche sono altamente correlate, il che può confondere alcuni modelli. Per evitarlo, è possibile eliminare una delle colonne fittizie. La codifica delle etichette impone una relazione ordinale tra le categorie, che potrebbe non essere appropriata per dati nominali.

question mark

Quale metodo di codifica è più appropriato per una variabile categorica senza ordine intrinseco, come "Color"?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain the difference between one-hot encoding and label encoding?

When should I use ordered categorical encoding instead of one-hot or label encoding?

Can you show more examples of encoding categorical variables?

Awesome!

Completion rate improved to 8.33

bookCodifica delle Variabili Categoriali

Scorri per mostrare il menu

Le variabili categoriche sono caratteristiche nei dati che rappresentano categorie anziché valori numerici. Esempi includono colori come "red", "green" e "blue", oppure etichette come "yes" e "no". Gli algoritmi di apprendimento automatico richiedono che i dati di input siano numerici, quindi è necessario convertire queste variabili categoriche in un formato numerico prima di utilizzarle nei modelli. Questo processo si chiama codifica e garantisce che gli algoritmi possano interpretare e apprendere efficacemente dai dati.

Note
Definizione

La one-hot encoding crea una nuova colonna binaria per ciascuna categoria di una variabile categorica. Ogni osservazione riceve un 1 nella colonna corrispondente alla propria categoria e 0 altrove.

12345678910111213
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # One-hot encode the 'embarked' column embarked_encoded = pd.get_dummies(data["embarked"], prefix="embarked") # Concatenate with original dataset data = pd.concat([data, embarked_encoded], axis=1) print(data[["embarked", "embarked_C", "embarked_Q", "embarked_S"]].head())
copy
Note
Definizione

L'encoding delle etichette assegna a ciascuna categoria unica in una variabile un valore intero, trasformando le etichette di testo in numeri.

123456789101112
import seaborn as sns import pandas as pd from sklearn.preprocessing import LabelEncoder # Load Titanic dataset data = sns.load_dataset("titanic") # Label encode the 'sex' column encoder = LabelEncoder() data["sex_encoded"] = encoder.fit_transform(data["sex"]) print(data[["sex", "sex_encoded"]].head())
copy
Note
Definizione

L'order encoding assegna valori interi ordinati alle categorie in base alla loro classifica naturale. Questo metodo preserva l'ordine intrinseco nelle variabili categoriche ordinali, come i livelli di istruzione ("high school", "bachelor", "master", "doctorate").

123456789101112131415161718
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # Define the order of passenger classes: First < Second < Third class_order = ["First", "Second", "Third"] # Apply ordered categorical encoding data["class_encoded"] = pd.Categorical( data["class"], categories=class_order, ordered=True ).codes + 1 # +1 to make classes start from 1 instead of 0 # Display sample output print(data[["class", "class_encoded"]].head())
copy
Note
Nota

Prestare attenzione durante la codifica delle variabili categoriche. La codifica one-hot può introdurre il problema delle variabili fittizie - una situazione in cui le caratteristiche sono altamente correlate, il che può confondere alcuni modelli. Per evitarlo, è possibile eliminare una delle colonne fittizie. La codifica delle etichette impone una relazione ordinale tra le categorie, che potrebbe non essere appropriata per dati nominali.

question mark

Quale metodo di codifica è più appropriato per una variabile categorica senza ordine intrinseco, come "Color"?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 2
some-alt