Come eseguire la codifica delle etichette in Python?

Come codificare le etichette in Python?

Spesso ci si trova ad affrontare dataset con variabili categoriche nell’analisi dei dati e nell’apprendimento automatico. Queste variabili rappresentano attributi qualitativi anziché valori numerici. Tuttavia, molti algoritmi di apprendimento automatico richiedono input numerici. È qui che entra in gioco la codifica delle etichette. Trasformando i dati di categoria in etichette numeriche, la codifica delle etichette ci consente di utilizzarli in vari algoritmi. Questo post spiegherà la codifica delle etichette, mostrerà dove può essere applicata in Python e darà esempi di come applicarla con il modulo sci-kit-learn molto apprezzato.

Cos’è la codifica delle etichette in Python?

Le variabili categoriche in Python possono essere trasformate in etichette numeriche utilizzando la tecnica di codifica delle etichette. Ogni categoria in una variabile viene assegnata un valore numerico distinto, consentendo agli algoritmi di apprendimento automatico di interpretare ed analizzare i dati in modo efficace. Vediamo alcuni esempi per imparare come funzionano le funzioni di codifica delle etichette.

Esempi di codifica delle etichette in Python

Esempio 1: Segmentazione dei clienti

Supponiamo di avere un dataset di segmentazione dei clienti con dati sulle caratteristiche demografiche dei tuoi clienti. Gli elementi del dataset includono “Genere”, “Fascia d’età” e “Stato civile”. È possibile assegnare diverse etichette a ciascuna categoria all’interno di queste variabili per eseguire la codifica delle etichette. Ad esempio:

Applicando la codifica delle etichette alle variabili categoriche, è possibile rappresentare i dati in un formato numerico adatto all’analisi della segmentazione dei clienti.

Esempio 2: Categorie di prodotto

Considera un dataset di categorizzazione dei prodotti che classifica diversi prodotti in diverse categorie. Il dataset contiene variabili come “Nome prodotto” e “Categoria”. Per eseguire la codifica delle etichette, assegna etichette numeriche a ciascuna categoria unica:

La codifica delle etichette consente di rappresentare le categorie di prodotti in modo numerico, consentendo ulteriori analisi o compiti di modellazione.

Esempio 3: Analisi del sentiment

In un dataset di analisi del sentiment, potresti avere una variabile chiamata “Sentiment” che rappresenta il sentiment associato a un documento di testo (ad esempio, positivo, negativo, neutro). Applicando la codifica delle etichette a questa variabile, è possibile assegnare etichette numeriche a ciascuna categoria di sentiment:

La codifica delle etichette consente di convertire le categorie di sentiment in etichette numeriche, semplificando l’esecuzione di compiti di analisi del sentiment.

Questi esempi evidenziano come la codifica delle etichette possa essere applicata a diversi dataset e variabili per convertire le informazioni categoriche in etichette numeriche, consentendo vari compiti analitici e di apprendimento automatico.

Dove può essere utilizzata la codifica delle etichette in Python?

La codifica delle etichette può essere utilizzata in vari scenari quando si lavora con dati categorici. Ecco alcuni esempi:

  • Elaborazione del linguaggio naturale (NLP): La codifica delle etichette può convertire etichette di categorie come positive, negative e neutre in rappresentazioni numeriche in applicazioni NLP come la categorizzazione del testo o l’analisi del sentiment. Ciò consente ai modelli di apprendimento automatico di comprendere ed analizzare con successo i dati testuali.
  • Sistemi di raccomandazione: I sistemi di raccomandazione spesso utilizzano variabili categoriche per rappresentare le preferenze degli utenti o le categorie degli elementi. Utilizzando la codifica delle etichette su queste variabili, gli algoritmi di raccomandazione possono elaborare i dati e fornire raccomandazioni personalizzate in base alle preferenze degli utenti.
  • Ingegneria delle caratteristiche: La codifica delle etichette può essere un passaggio cruciale nell’ingegneria delle caratteristiche, in cui creiamo nuove caratteristiche significative dai dati esistenti. Codificando le variabili categoriche in etichette numeriche, possiamo creare nuove caratteristiche che catturano le relazioni tra diverse categorie, migliorando il potere predittivo dei nostri modelli.
  • Visualizzazione dei dati: La codifica delle etichette può essere utilizzata anche a scopo di visualizzazione dei dati. Consente la rappresentazione dei dati categorici su grafici e diagrammi che richiedono input numerici. Codificando le variabili categoriche, possiamo creare visualizzazioni significative che forniscono intuizioni sui dati.
  • Analisi di clustering: La codifica delle etichette può essere utilizzata nell’analisi di clustering, in cui le variabili categoriche devono essere trasformate in etichette numeriche affinché gli algoritmi di clustering possano identificare pattern e gruppi all’interno dei dati.

Preparazione dei dati per la codifica delle etichette in Python

Prima di eseguire la codifica delle etichette, è essenziale preparare correttamente i dati. Ecco alcuni passaggi comuni nella preparazione dei dati per la codifica delle etichette:

Gestione dei valori mancanti

I valori mancanti sono un evento comune nei dataset. È importante gestire questi valori mancanti prima di eseguire la codifica delle etichette. Un approccio consiste nel rimuovere le righe o le colonne con valori mancanti se sono insignificanti in quantità. In alternativa, è possibile attribuire i valori mancanti utilizzando tecniche come la media, la mediana, la moda o metodi di imputazione avanzati come la regressione o le imputazioni multiple.

Gestione delle Caratteristiche Categoriche

Identifica e isola le caratteristiche categoriche nel tuo dataset. Queste sono le variabili che saranno sottoposte ad encoding di etichette. Le caratteristiche categoriche sono tipicamente rappresentate come testo o valori discreti e possono essere nominali o ordinali. Le variabili nominali non hanno un ordine o una gerarchia intrinseca, mentre le variabili ordinali hanno un ordine o un ranking specifico.

Gestione delle Variabili Ordinali

Se i tuoi dati contengono variabili ordinali, è cruciale codificarle in un metodo che preservi quell’ordine. Utilizzando l’ordine predefinito come guida, un metodo consiste nel fornire manualmente etichette numeriche. Supponiamo che la variabile ordinale indichi il grado di istruzione di una persona (ad esempio, “Scuola Superiore”, “Laurea”, o “Laurea Magistrale”); potresti, ad esempio, assegnare etichette come 0, 1 e 2. In alternativa, puoi utilizzare dizionari di mapping per specificare l’ordine e assegnare etichette numeriche di conseguenza.

Gestione delle Variabili Nominali

Per le variabili nominali, in cui non esiste un ordine intrinseco, puoi utilizzare la codifica one-hot come alternativa all’encoding delle etichette. La codifica one-hot crea colonne binarie per ogni categoria, rappresentando la presenza o l’assenza di una categoria. Questo approccio è particolarmente utile quando si lavora con variabili categoriche con molteplici livelli o quando l’assenza di una particolare categoria ha un certo significato.

Pre-elaborazione dei Dati

Oltre alla gestione dei valori mancanti e all’encoding delle caratteristiche categoriche, è spesso utile eseguire ulteriori passaggi di pre-elaborazione dei dati prima dell’encoding delle etichette. Questi passaggi possono includere il ridimensionamento delle caratteristiche, la normalizzazione o la rimozione degli outlier. La pre-elaborazione dei dati può migliorare le prestazioni dei modelli di apprendimento automatico garantendo che i dati siano in un formato adatto per l’analisi.

Esecuzione dell’Encoding delle Etichette in Python

Utilizzando la classe LabelEncoder in Python della libreria sci-kit-learn, possiamo eseguire l’encoding delle etichette in Python. Di seguito viene fornito un manuale di istruzioni per eseguire l’encoding delle etichette:

Importa le librerie necessarie:

from sklearn.preprocessing import LabelEncoder

Crea un’istanza del LabelEncoder:

label_encoder = LabelEncoder()

Adatta il label encoder in Python alla variabile categorica:

label_encoder.fit(categories)

Qui, “categories” rappresenta la variabile categorica che vogliamo codificare.

Trasforma la variabile categorica in etichette numeriche:

encoded_labels = label_encoder.transform(categories)

La variabile “encoded_labels” contiene ora le etichette numeriche trasformate.

Ripristina l’encoding delle etichette in Python (opzionale):

Se hai bisogno di ripristinare l’encoding delle etichette e convertire le etichette numeriche nella loro forma categorica originale, puoi utilizzare quanto segue:

original_categories = label_encoder.inverse_transform(encoded_labels)

Conclusioni

In conclusione, l’encoding delle etichette è una tecnica preziosa nell’analisi dei dati e nell’apprendimento automatico quando si lavora con variabili categoriche. Consente la trasformazione di attributi qualitativi in etichette numeriche, rendendoli adatti a vari algoritmi. L’encoding delle etichette trova applicazioni in NLP, sistemi di raccomandazione, ingegneria delle caratteristiche, visualizzazione dei dati e analisi di clustering. Le librerie Python come sci-kit-learn forniscono strumenti convenienti per eseguire l’encoding delle etichette, facilitando l’analisi dei dati categorici e migliorando l’efficacia dei modelli di apprendimento automatico. Analytics Vidhya offre una varietà di corsi gratuiti per padroneggiare e migliorare le tue competenze così come il tuo curriculum.

Domande Frequenti