Il Label Encoding Γ¨ un modo per ==convertire le variabili categorie ordinali (che hanno quindi un ordine intrinseco) in numeri==. Le variabili vengono trasformate in numeri con un ordine preciso ma questo ordine riflette la realtΓ , quindi va bene. Qualora invece le variabili fossero nominali, quindi non hanno un ordine intrinseco come per esempio il colore di una maglietta, allora Γ¨ necessario procedere con l’One-hot encoding.

Immagina di avere una variabile β€˜Livello di Istruzione’ con le categorie β€˜Scuola Elementare’, β€˜Scuola Media’, β€˜Diploma’, β€˜Laurea’, β€˜Master’, e β€˜Dottorato’. Utilizzando il Label Encoding, assegneremo a ciascuna categoria un numero unico in base all’ordine: ad esempio, β€˜Scuola Elementare’ potrebbe essere codificata come 0, β€˜Scuola Media’ come 1, β€˜Diploma’ come 2 e cosΓ¬ via fino a β€˜Dottorato’ che potrebbe essere codificata come 5.

Livello di IstruzioneLivello di Istruzione_LabelEncoded
Scuola Elementare0
Scuola Media1
Diploma2
Laurea3
Master4
Dottorato5
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
import pandas as pd
 
# Esempio di dati per il Label Encoding
livello_istruzione = ['Scuola Elementare', 'Scuola Media', 'Diploma', 'Laurea', 'Master', 'Dottorato']
 
# Creazione di un DataFrame con la variabile 'Livello di Istruzione'
df_label_encoding = pd.DataFrame({'Livello di Istruzione': livello_istruzione})
 
# Inizializzazione del LabelEncoder
label_encoder = LabelEncoder()
 
# Applicazione del LabelEncoder alla colonna 'Livello di Istruzione'
df_label_encoding['Livello di Istruzione_LabelEncoded'] = label_encoder.fit_transform(df_label_encoding['Livello di Istruzione'])
 
print("Dati con Label Encoding:")
print(df_label_encoding)