Comprensione e applicazione di metodi basati su alberi per lo screening e la modellazione dei predittori
Scopri come:
- Modello che utilizza partizione, foreste Bootstrap e albero potenziato
- Comprendere i pro e i contro degli alberi decisionali
- Pro: Scopri relazioni non lineari, ottieni risultati facili da comprendere, esamina un gran numero di fattori
- Contro: Gestisce una risposta alla volta, forma un'istruzione if-then e non una formula matematica, l'elevata variabilità può portare a differenze importanti in un modello per dati simili
- Costruisci un albero di classificazione delle partizioni JMP che utilizza la suddivisione per definire la relazione tra i predittori e le risposte categoriali
- Definire il numero di campioni, la dimensione degli alberi (modelli) e la frequenza di campionamento per costruire modelli Bootstrap Forest utilizzando una tecnica random-forest
- Definire il numero di livelli, le suddivisioni per albero, la velocità di apprendimento e le velocità di campionamento per creare modelli Boosted Tree che combinano modelli più piccoli in un modello finale
- Interpretare i risultati e ottimizzare i modelli
- Specificare ed eseguire report Profit Matrix per identificare classificazioni errate per risposte categoriali e interpretare i risultati utilizzando Confusion Matrix e Decision Matrix
Nota: Domande e risposte incluse all'ora 17:00 e all'ora 38:00
Modellazione predittiva e apprendimento automaticoOggetto: Comprensione e applicazione di metodi basati su alberi per lo screening e la modellazione dei predittoriGrazie ad entrambi per l'analisi molto dettagliata, ho bisogno di un po' di tempo per lavorare su tutte le vostre proposte, e vi risponderò più tardi. So che ci sono molte sfide nel mio set di dati, un'ulteriore è che è sbilanciato, è una miscela di molti dati storici e alcuni esperimenti aggiunti ad essi. E noi sviluppatori vogliamo ottenere informazioni da tutti i dati e non buttare via nulla. Questi esperimenti possono sembrare valori anomali, ma non lo sono, sono singoli punti con un risultato significativo. Dato che il mio set di dati sarà presentato al Discovery Summit Europe, potremo discuterne ulteriormente quando sarà online. BR
Oggetto: Comprensione e applicazione di metodi basati su alberi per lo screening e la modellazione dei predittori@Peter_Hersh : Non sono sicuro di cosa intendi con la tua frase " I modelli basati sugli alberi sono molto suscettibili ai valori anomali" , poiché i metodi basati sugli alberi sono invece abbastanza robusti rispetto ai valori anomali, o almeno i valori anomali hanno un effetto trascurabile. Esistono già numerosi esempi e pubblicazioni su questo aspetto, ed è anche il motivo per cui questo tipo di modelli sono spesso utilizzati e famosi, per la loro "semplicità" e il basso passaggio di pre-elaborazione/pulizia (non è necessario un grande lavoro su valori anomali, e gestione dei valori mancanti, nessuna ipotesi sulle distribuzioni, ecc...). Un confronto tra l'impatto dei valori anomali sui modelli di regressione e sulla foresta casuale (e i vantaggi di diverse tecniche per gestire i valori anomali applicati su entrambi gli algoritmi (spoiler: che non mostrano grandi effetti sull'algoritmo della foresta casuale)) può essere visto qui: Come rendere i tuoi modelli di machine learning resistenti ai valori anomali - KDnuggets
@Peter_Hersh @Georg Ci sono però anche altre cose da tenere in considerazione per la scelta dei modelli tree-based, eccone alcuni:
- Adattamento eccessivo ciò può verificarsi principalmente per l'albero decisionale e l'albero potenziato (se non viene eseguita un'adeguata convalida). Le foreste casuali tendono ad essere meno inclini al sovradattamento a causa di processo di bootstrap: esiste un formazione indipendente dei singoli alberi, ognuno dei quali è adatto a un campione bootstrap dei dati di addestramento. Con il processo di bootstrap, alcuni campioni non vengono "utilizzati" nella creazione di singoli alberi (detti campioni "Out Of Bag" (OOB)) ma possono essere utilizzati per stimare gli errori nel modello (e quindi servono come "convalida", stima dell'errore su dati non visti dal modello).
- Correlazione/multicollinearità : T I diversi modelli basati su alberi trattano in modo diverso la multicollinearità o la correlazione tra variabili. Se hai una forte correlazione/multicollinearità nel tuo set di dati, potresti aspettarti alcune differenze: Quando si osserva il grafico dell'importanza delle caratteristiche dell'albero decisionale (o albero con gradiente potenziato), è possibile vedere che solo le caratteristiche "migliori" sono selezionate (quelle con i migliori attributi di suddivisione) e le altre (correlate alle prime) sono non selezionato e hanno un'importanza della funzionalità pari a 0 (o prossima a 0). Questo è normale, poiché un albero decisionale utilizza tutti i predittori e cerca di determinare le migliori suddivisioni a ciascun livello, quindi le caratteristiche "peggiori" e correlate verranno eliminate.Pertanto, ricaricare Decision/Boosted Tree può portare a modelli diversi in presenza di correlazione/multicollinearità (poiché potrebbe non selezionare sempre le stesse caratteristiche/variabili ogni volta). Osservando il grafico dell'importanza delle caratteristiche della foresta casuale, puoi vedere che tutte le caratteristiche hanno un punteggio, anche quelle correlate. Ciò è dovuto al feature bagging, una selezione casuale di funzionalità eseguita per ciascun albero decisionale nella foresta, che conferisce a ciascuna funzionalità la stessa "possibilità" di essere selezionata nei singoli alberi. Quindi ricaricando questo modello dovresti ottenere modelli molto simili.
- Rumore (o compromesso bias/varianza): B gli alberi osposti possono essere più accurati delle foreste casuali. Nell'albero potenziato, ogni singolo albero viene addestrato in modo iterativo per correggere gli errori dell'albero precedente, quindi questo algoritmo è in grado di acquisire modelli complessi nei dati. Tuttavia, se i dati sono rumorosi, gli alberi potenziati potrebbero adattarsi eccessivamente e iniziare a modellare il rumore. Quindi, a seconda delle dimensioni del set di dati e del rumore nei dati, è possibile scegliere tra Boosted Tree e Random Forest: i primi sono molto accurati ma non robusti al rumore (bias basso, varianza elevata come Decision Tree), mentre in il confronto RF è meno accurato/preciso ma è più resistente al rumore (il bias è lo stesso di ogni singolo albero nella foresta, varianza inferiore rispetto all'albero decisionale o all'albero potenziato a causa del processo di bagging).
E devi anche considerare (oltre ai punti precedenti) il tuo obiettivo (predittivo/esplicativo?), l'influenza delle metriche utilizzate per valutare le prestazioni del tuo modello su questo set di dati, la dimensione e le dimensioni del set di dati (numero di variabili vs. numero di osservazioni), rappresentatività dei dati, ecc...
Se stai utilizzando un set di dati di piccole dimensioni (con possibile rumore), Random Forest può essere un'alternativa più sicura e robusta rispetto a Boosted Tree/Decision Tree.
Oltre a cosa @Peter_Hersh suggerisce, se hai prestazioni diverse tra le pieghe/colonne di convalida per il tuo albero potenziato, ciò indica che un sottoinsieme dei tuoi dati potrebbe avere valori insoliti, quindi provare a guardare le distanze (Jackknife/Mahalanobis) nella piattaforma multivariata potrebbe abilitare di individuare e identificare un'osservazione abituale in questo sottoinsieme.
Scusate la lunga risposta, spero che possa essere utile,
Oggetto: Comprensione e applicazione di metodi basati su alberi per lo screening e la modellazione dei predittori@Georg Ottima domanda.@Victor_G ha un paio di belle soluzioni con la media dei modelli o la modellazione d'insieme di k-fold.Sembra che i tuoi dati presentino molto rumore poiché il modello cambia con esecuzioni aggiuntive.Potrebbe darsi che il modello non sia molto utile a questo punto senza alcuni fattori o esecuzioni aggiuntivi per aiutare a comprendere meglio la variabilità dei dati.
Un modo per testarlo è creare più colonne di convalida per la convalida del holdback.Se i modelli che utilizzano colonne di convalida diverse sono notevolmente diversi tra loro, ciò indica che un sottoinsieme casuale dei dati non è rappresentativo dei dati nel loro insieme.Ciò significa che avrai difficoltà a creare un modello predittivo accurato senza apportare alcune modifiche.
I modelli basati su alberi sono molto suscettibili ai valori anomali, quindi potrebbe essere una buona idea verificare la presenza di valori anomali prima di eseguire il modello.
Spero che questo sia utile, facci sapere come vanno le cose.
Oggetto: Comprensione e applicazione di metodi basati su alberi per lo screening e la modellazione dei predittori@Georg Potrei avere un paio di idee riguardo alla tua domanda:
- Provare la convalida incrociata di K-fold (con la piattaforma "Model Screening" disponibile in Analizza -> Modellazione predittiva) per valutare la robustezza del modello. Otterrai risultati per ciascuna delle tue riduzioni, quindi è più semplice valutare se il tuo modello è robusto, indipendentemente dalle esecuzioni presenti nel set di training o di convalida.
È possibile salvare le formule per ciascun modello (addestrato sulle pieghe K-1, convalidato su 1 piega) e successivamente potrebbe essere possibile eseguire un insieme o una media di questi singoli modelli creati su pieghe diverse, ma è necessario conservare alcuni dati completamente, poiché qui farai la media di diversi modelli creati sui tuoi dati e set di validazione, quindi per avere una valutazione corretta del modello, è necessario creare un set di test indipendente e i dati di test completamente "rimossi" per evitare qualsiasi informazione/ perdita di dati o overfitting.
- Se vuoi avere test riproducibili per il tuo modello (o "aggiustare" il tuo modello finale), puoi correggere il seme casuale digitando qualsiasi numero: in questo modo, ricaricare un modello con uno script e un seme casuale fisso ti consentirà di farlo sempre avere gli stessi risultati.
- Infine, potresti anche provare a creare diversi Boosted Tree (o altri modelli basati su alberi), ottimizzando gli iperparametri o apportando alcune differenze nei loro valori (profondità, dimensione minima divisa, ecc...) in modo da avere ottimizzato modelli o una piccola diversità nei tuoi modelli individuali, quindi combinali raggruppandoli o facendo la media.
Spero che queste poche idee possano aiutarti,
Oggetto: Comprensione e applicazione di metodi basati su alberi per lo screening e la modellazione dei predittori@Peter_Hersh ,Grazie per aver pubblicato questo fantastico video! Nel mio caso ho dati variabili e l'utilizzo di alberi decisionali porta a modelli diversi per esecuzioni diverse, come hai affermato, che gli alberi decisionali hanno questo "contro". Nel tuo caso hai utilizzato una colonna di convalida, il che significa che la scelta per l'addestramento e il test non è più casuale. L'uso della "porzione di sospensione" nel mio caso è un'altra fonte di "rumore" da una corsa all'altra.Esiste qualche idea o strategia su come ottenere un modello più stabile o su come definire/risolvere il modello finale? Sto utilizzando Boosted Tree perché ha funzionato meglio facendo un confronto tra modelli.Grazie in anticipo!