4 Modi per Codificare le Caratteristiche Categoriche ad Alta Cardinalità – con Implementazione in Python

4 Modi per Codificare le Caratteristiche Categoriche ad Alta Cardinalità - Python Implementation

Impara ad applicare l’encoding di destinazione, l’encoding del conteggio, l’hashing delle caratteristiche e l’embedding utilizzando scikit-learn e TensorFlow

“Clicca” — Foto di Cleo Vermij su Unsplash

In questo articolo, esploreremo 4 metodi popolari per codificare variabili categoriche ad alta cardinalità: (1) Encoding di destinazione, (2) Encoding del conteggio, (3) Hashing delle caratteristiche e (4) Embedding.

Spiegheremo come funziona ogni metodo, discuteremo i suoi vantaggi e svantaggi e osserveremo il suo impatto sulle prestazioni di un compito di classificazione.

Indice

— Introduzione delle caratteristiche categoriche (1) Perché dobbiamo codificare le caratteristiche categoriche? (2) Perché l’encoding one-hot non è adatto per le categorie ad alta cardinalità? — Applicazione su un dataset AdTech — Panoramica di ogni metodo di codifica (1) Encoding di destinazione (2) Encoding del conteggio (3) Hashing delle caratteristiche (4) Embedding — Benchmark delle prestazioni per prevedere il CTR — Conclusioni — Approfondimenti

Introduzione delle caratteristiche categoriche

Le caratteristiche categoriche sono un tipo di variabili che descrivono categorie o gruppi (ad esempio, genere, colore, paese), a differenza delle caratteristiche numeriche che misurano una quantità (ad esempio, età, altezza, temperatura).

Esistono due tipi di dati categorici: caratteristiche ordinali le cui categorie possono essere classificate e ordinate (ad esempio, taglie di maglietta o valutazioni di ristoranti da 1 a 5 stelle) e caratteristiche nominali le cui categorie non implicano alcun ordine significativo (ad esempio, nome di una persona, di una città).

Perché dobbiamo codificare le caratteristiche categoriche?

Codificare una variabile categorica significa trovare una mappatura che converte una categoria in un valore numerico.

Mentre alcuni algoritmi possono lavorare direttamente con dati categorici (come gli alberi decisionali), la maggior parte dei modelli di apprendimento automatico non può gestire le caratteristiche categoriche e sono stati progettati per operare con…