Gli alberi di base sono uno degli algoritmi di apprendimento automatico più interpretabili e ampiamente utilizzati per la classificazione e la regressione. La loro struttura gerarchica e basata su regole rispecchia il processo decisionale umano, rendendoli una scelta di go-to-flow per gli analisti e gli scienziati di dati. Tuttavia, l'esecuzione di qualsiasi modello di albero di decisione, se un singolo albero, una foresta casuale, o un insieme di gradiente-boosted, è criticamente dipendente dalla qualità dei dati forniti.

Perché pretrattare i materassi per gli alberi delle decisioni

A differenza di molti altri modelli di apprendimento automatico (ad esempio, regressione lineare, reti neurali), gli alberi di decisione sono relativamente robusti a certe imperfezioni di dati. Ad esempio, possono gestire relazioni non lineari senza un'ingegneria di caratteristiche esplicita, e sono invarianti a trasformazioni monotoniche di caratteristiche.

  • Dati inconsistenti di maneggio:[] Valori mancanti, tipologie, o categorie mal etichettate possono causare la scissione dell'albero che non riflettono i veri modelli, portando a modelli biased o inaccurati.
  • Ridurre complessità:[[] Le caratteristiche irrilevanti o ridondanti introducono il rumore, aumentano la profondità dell'albero e aumentano il rischio di sovraccaricarsi.
  • Migliorare l'interpretabilità:[] I dati puliti e ben codificati producono alberi con spaccature significative che gli esperti di dominio possono facilmente comprendere e convalidare.
  • I metodi di adattamento:[] Le tecniche come foreste casuali e il miglioramento del gradiente sono ancora più sensibili alla qualità dei dati perché aggregano molti alberi.

La preelaborazione efficace degli alberi decisionali colpisce un equilibrio tra la conservazione della struttura intrinseca dei dati e la rimozione degli ostacoli che potrebbero indurre in errore il criterio di scissione (ad esempio, l'impurità di Gini o l'entropia).

Gestione dei dati mancanti: più che semplice imputazione

I dati mancanti sono onnipresenti nei dataset del mondo reale. Gli alberi decisionali possono gestire in parte i valori mancanti: alcune implementazioni (ad esempio, in scikit-learn) possono dividere i campioni con valori mancanti utilizzando “squadra di surrogati”. Tuttavia, basandosi unicamente su questo meccanismo integrato è suboptimale, soprattutto quando la percentuale di mancanza è elevata o quando i dati mancanti sono informativi.

Identificare i meccanismi di Missingness

Prima di scegliere un metodo, capire perché i dati mancanti:

  • Missing Completamente a Random (MCAR): La mancanza non ha alcun rapporto con qualsiasi altra variabile.
  • Missing at Random (MAR):[ La mancanza dipende da altre variabili osservate (ad esempio, le donne sono più propensi a saltare una domanda di peso).
  • Non a Random (MNAR): La mancanza dipende dal valore non osservato stesso (ad esempio, le persone con reddito molto elevato rifiutano di segnalare il reddito). Questo è difficile; considerare l'uso di una colonna "indicatore mancante" per contrassegnare tali casi.

Tecniche di Imputazione

L'imputazione semplice (mean, median, mode) è rapida ma spesso introduce bias ignorando le relazioni tra le caratteristiche. Per gli alberi di decisione, un approccio migliore è quello di utilizzare la struttura dell'albero stesso: è possibile formare un albero preliminare per prevedere valori mancanti per una data funzione utilizzando altre caratteristiche complete.

Per una grande mancanza (ad esempio, >50% di una caratteristica): Considerare di abbandonare completamente la funzione. Se la funzione è critica, creare una categoria separata “missing” per variabili categoriche o la mancanza di bandiera come indicatore binario per le caratteristiche numeriche. Molte implementazioni degli alberi di decisione trattano questi indicatori naturalmente, lasciando che l'albero decida se la mancanza stessa è il segnale di data di destinazione.

Biblioteche consigliate:[] pandas] per l'imputazione di base, Semplificare l'impatto e l'erativo imputer] per strategie più avanzate.

Codifica Variabili Categorici: Conservazione dell'ordine senza Bias

La codifica trasforma le categorie in numeri, ma la scelta del metodo di codifica influenza fortemente il comportamento di scissione dell’albero. La chiave è evitare di introdurre relazioni di ordinazione artificiale che non esistono.

Categorie Nominale vs Ordinale

  • Le categorie ordinarie[ hanno un ordine naturale (ad esempio, livello di istruzione: liceo [[< bachelor’s < master’s). Use ]Label Encoding[ (assegnare interi 0,1,2,...) e l'albero raccoglierà naturalmente le divisioni basate sull'ordine se l'ordine si allinea con il bersaglio.
  • Le categorie principali ] (ad esempio, colore: rosso, verde, blu) non hanno alcun ordine intrinseco. La codifica dell'etichetta qui è pericolosa— forza un falso ordinamento (red=0, green=1, blue=2). L'albero potrebbe dividersi su “colore < 1.5” which is meaningless. Instead, use

Codifica avanzata per gli alberi delle decisioni

CatBoost, ad esempio, utilizza la codifica di destinazione ordinata che riduce il sovraccarico. Se si sta costruendo un albero da zero o utilizzando scikit-learn, è necessario codificare manualmente. Valuta sempre le prestazioni con diverse scelte di codifica; talvolta semplice un-hot codifica outperforms metodi sofisticati se la cardinalità è bassa.

Scalabilità della caratteristica: Quando si Matters e quando non

Gli alberi di decisione sono invarianti alle trasformazioni monotoniche (scaling, logarithm, ecc.) perché si dividono in base alle soglie relative alla distribuzione interna della caratteristica. Una caratteristica scalata a [0,1] produce le stesse scissioni come quando scalata a [0,100]—l'albero semplicemente regola la soglia.

  • I metodi di assemblaggio[[] come il miglioramento del gradiente possono usare la regolarizzazione che beneficia delle caratteristiche scalate (ad esempio, il parametro `max delta step` di XGBost).
  • Combinare con altri algoritmi[] (ad esempio, utilizzando PCA per ridurre la dimensionalità prima di un albero di decisione) richiede la scalabilità per impedire le caratteristiche di grandi dimensioni di dominare componenti principali.
  • Visualizzazione e interpretabilità:[] La scalazione può rendere più facile la discussione delle soglie divisi tra le caratteristiche misurate in unità diverse.

Se si sceglie di scalare, utilizzare ]Min-Max scaling (a [0,1] o [-1,1]) o Standardization (z‐score). Entrambi i lavori; Min-Max conserva la gamma della funzione, mentre Standardizzazione è meno influenzata da outliers.

Manipolazione Outliers: Lasciare il Decidere dell'albero (Mostly)

Poiché le scissioni si basano sulle statistiche dell'ordine, un unico valore estremo colpisce solo il ramo che lo contiene. A differenza dei modelli lineari, gli outlier non tirano l'intero modello. Tuttavia, gli outlier possono ancora causare problemi:

  • Profondità dell'albero estensiva: Un albero potrebbe creare molte scissioni per isolare alcuni punti più alti, portando a sovrapporsi.
  • Noisy splits:[] I Outliers possono creare regioni false che non generalizzano, soprattutto se combinate con i dati mancanti.

La migliore pratica è quella di cap o winsorize[ valori estremi a un ragionevole per centoile (ad esempio, 1 e 99 ° per cento). In alternativa, trasforma le funzionalità utilizzando un log o Box‐Cox trasformazione per ridurre lo schewness, ma noti che l'invarianza dell'albero significa che la trasformazione raramente cambia i confini della decisione a meno che non si disua anche prune l'albero.

Selezione caratteristica: Meno è di più

Gli alberi di decisione effettuano automaticamente una sorta di selezione delle caratteristiche scegliendo scissioni che massimizzano il guadagno delle informazioni. Tuttavia, tra cui molte caratteristiche irrilevanti possono degradare le prestazioni:

  • Diluizione del rumore:[] L'albero può accidentalmente dividersi su una caratteristica rumorosa che sembra avere un elevato guadagno di informazioni a causa del caso, soprattutto con piccoli set di dati.
  • Cliente computazionale aumentato:[ Altre caratteristiche significano più scissioni dei candidati, rallentamento della formazione.
  • Overfitting:[] L'albero può diventare inutilmente complesso.

Usa metodi di filtraggio (ad esempio, la correlazione con il bersaglio, il test di chi-square per le caratteristiche categoriche, le informazioni comuni) per pre-selezionare le caratteristiche di k top. Metodi di scorrimento (come l'eliminazione delle caratteristiche ricorrenti) sono più accurati ma computazionalmente costosi.

Tecniche di preprocessing avanzate

Binning e Discretization

Tuttavia, discretizzare le caratteristiche continue[] in un piccolo numero di cassoni (ad esempio, utilizzando contenitori di parità o di pari frequenza) possono talvolta migliorare l'interpretazione e ridurre il sovraccarico, soprattutto quando il rapporto tra caratteristica e l'obiettivo non è monotonico.

Creazione di funzionalità di interazione

Gli alberi di decisione catturano implicitamente le interazioni attraverso le divisioni gerarchiche (ad esempio, prima scissione sull'età, poi sul reddito). Ma se un'interazione è altamente predittiva e comporta una caratteristica con bassa varianza, l'albero potrebbe avere bisogno di molte scissioni per catturarlo.

Gestione dei dati imbalanci

Quando le classi target sono fortemente squilibri (ad esempio, il rilevamento delle frodi con l'1% di frode), gli alberi decisionali si sono biasimati verso la classe di maggioranza.

  • Ricampo:[ Sottocampo della classe di maggioranza o sovracampo della classe di minoranza usando SMOTE[[ (Synthetic Minority Oversampling Technique). SMOTE crea esempi sintetici interpolando tra i vicini di k-nearest della classe di minoranza.
  • L'apprendimento costitutivo:[ Molte implementazioni albero consentono di assegnare diversi costi di disclassificazione per classe (ad esempio, `class weight='balanced'` in fantascienza), che regola il criterio di impurità per penalizzare gli errori nella classe minoritaria più pesantemente.
  • Inserire con un equilibrato bootstrapping:[ Per le foreste casuali, utilizzare campioni bilanciati di bootstrap dove ogni albero è addestrato su un sottoinsieme equilibrato.

Gestione del testo e delle caratteristiche della data

Dati di testo:[] Converti in vettori di parole o TF‐IDF. Gli alberi di decisione (specialmente quelli profondi) possono ancora funzionare con caratteristiche di testo sparse ad alta dimensione, ma considerano la riduzione della dimensione attraverso la modellazione dell'argomento o l'estrazione di parole chiave.

Dati/tempo:[] Estrarre le caratteristiche cicliche (ora del giorno, giorno della settimana, mese) e trattarle come ordinale o nominale.Per tendenze, deriva il tempo da un punto di riferimento.

Flusso di lavoro pratico per i dati dell'albero di decisione di preprocesso

Un flusso di lavoro sistematico garantisce coerenza ed evita la perdita di dati (in modo indiretto utilizzando le informazioni di destinazione durante la preelaborazione, che invalidano la valutazione).

  1. Dati di presentazione anticipati:[] Separati in formazioni, validazioni e set di test prima di qualsiasi preelaborazione che utilizzi le informazioni di destinazione (ad esempio, codifica di destinazione, SMOTE).
  2. Valori mancanti[[]] sulla formazione impostata utilizzando l'imputazione appropriata.
  3. codificare le variabili categorie[[]] in base alle categorie di set di allenamento. Per codificare le etichette, conservare la mappatura; per un solo colpo, gestire le categorie sconosciute nel set di test raggruppandoli.
  4. I fornitori di pneumatici[] (capping) utilizzando i per centoiles calcolati sui dati di formazione.
  5. Applicare la funzione di scaling[[] se necessario (ad esempio, per la riduzione di ensemble o di dimensionalità).
  6. Selezione della struttura[[[]]] utilizzando solo l'insieme di formazione. Se si utilizzano le caratteristiche di un albero, assicurarsi che l'albero sia addestrato sul set di formazione.
  7. Risampling per lo squilibrio[[] sul set di formazione (minoranza universale) dopo la divisione, per evitare perdite di punti sintetici nel set di validazione.
  8. Acquistare l'albero di decisione[[[] con iperparametri appropriati (ad esempio, `max profondità`, `min samples leaf`, `min impurity decrease`).
  9. Valutare[] su un set di test non visto per valutare la generalizzazione.

Questo flusso di lavoro si applica sia a singoli alberi che a sacchetti/compense. Per gli ensemble, prendere in considerazione l'aggiunta di una caratteristica importante-basata selezione delle caratteristiche passo dopo un primo run, poi ricostruire.

Pitfalls comune e come evitare di loro

  • Data leakage from imputation:[] Non calcolare mai media/median sull'intero set di dati prima della divisione.
  • Codifica di un solo hot che causa la parsimonia:[ Per i categorici di alta cartilina, considerare la codifica di hashing o target per mantenere il conteggio delle funzionalità gestibile.
  • Ignorando la conoscenza del dominio:[[]] La preelaborazione non dovrebbe essere puramente automatizzata. Ad esempio, nei dati medici, un valore di laboratorio mancante potrebbe significare "test non ordinato" piuttosto che "non noto".
  • Impostazioni a colori su piccoli set di dati:[] Utilizzare preprocessing più semplice (con caratteristiche a goccia con molti valori mancanti, utilizzare l'imputazione di base) e la potatura pesante.
  • La scalatura dissuasione è sempre inutile: Mentre è vero per un singolo albero, gli alberi a gradiente-boosted (ad esempio, XGBost) possono beneficiare di caratteristiche scalate quando si utilizzano i parametri di regolarizzazione.

Conclusioni

La preelaborazione dei dati non è un'operazione di sola dimensione; le migliori tecniche dipendono dalle caratteristiche specifiche del vostro set di dati e dalla variante degli alberi di decisione che scegliete. Tuttavia, i principi rimangono costanti: l'obiettivo di dati puliti e ben strutturati che preservano i modelli significativi mentre si elimina il rumore.

Dopo aver addestrato un modello iniziale, ispezionare l'albero risultante—la sua profondità, le caratteristiche utilizzate per la divisione e la distribuzione delle previsioni—per capire dove la qualità dei dati potrebbe ancora mancare. Utilizzare competenze di dominio per convalidare che le scissioni hanno senso. Investendo il tempo in una corretta preelaborazione, si costruisce alberi di decisione che non sono solo accurate ma anche interpretabili e robuste, rendendoli beni preziosi in qualsiasi toolkit di data science.