La foresta bootstrap è cambiata in JMP Pro18?Ho utilizzato la foresta bootstrap su molti set di dati diversi (sia variabili di risposta continue che nominali) per diversi anni e generalmente capisco le impostazioni di quell'algoritmo: di solito uso quelle predefinite. La mia comprensione delle foreste casuali (bootstrap) è che ogni albero viene eseguito utilizzando una selezione casuale di fattori e una selezione casuale di osservazioni (con sostituzione). In passato, quando osservavo i singoli alberi, ce n'erano sempre alcuni che utilizzavano solo un paio di variabili e avevano alberi molto radi, mentre altri erano molto più complessi. Durante le lezioni, ho usato questo metodo per mostrare come i singoli alberi siano spesso privi di senso: è la media che produce buone previsioni.
Tuttavia, quando eseguo foreste bootstrap in JMP Pro 18, ogni set di dati che utilizzo mostra tutti gli alberi con centinaia di suddivisioni. Prima c'erano sempre alcuni alberi con meno di 10 suddivisioni, ma ora non ci sono più alberi semplici. Il metodo di implementazione del modello è cambiato?
Modellazione predittiva e apprendimento automaticoR: La foresta bootstrap è cambiata in JMP Pro18?Ciao @dlehman1
La piattaforma Bootstrap Forest adatta un modello di ensemble calcolando la media di numerosi alberi decisionali, ciascuno dei quali è adattato a un campione bootstrap (con sostituzione) dei dati di training. Ogni suddivisione in ciascun albero considera un sottoinsieme casuale dei predittori (da Foresta di Bootstrap ).
Questa randomizzazione nella selezione dei campioni di addestramento e nella selezione dei sottoinsiemi di caratteristiche consente di ridurre il rischio di sovradattamento (creando più alberi indipendenti basati su dati di addestramento leggermente diversi), di migliorare l'accuratezza e la robustezza al rumore e di gestire valori mancanti, valori anomali e caratteristiche correlate/colinearità (grazie alla selezione dei sottoinsiemi di caratteristiche a ogni suddivisione di ciascun albero).
Per quanto riguarda la tua domanda originale, non avendo più JMP 17 installato sul mio computer, non potrò confrontare i risultati. Per quanto riguarda la documentazione di JMP 17 e JMP 18 sugli iperparametri predefiniti utilizzati all'avvio della Bootstrap Forest, non sembra esserci alcuna differenza nelle impostazioni predefinite.
Se i singoli alberi sembrano troppo complessi, è possibile modificare alcuni degli iperparametri predefiniti:
- Divisioni minime per albero : di default è 10, ma su piccoli set di dati tendo sempre a ridurre questo valore a 2. Impostare un valore elevato sulle divisioni minime per albero tende a creare singoli alberi complessi, il che potrebbe non essere utile e potrebbe essere soggetto a sovradattamento.
- Numero massimo di suddivisioni per albero : di default è 2000, ma anche in questo caso 2000 suddivisioni al massimo per ogni singolo albero sono molte (e potrebbero portare a problemi simili a quelli menzionati in precedenza)! Tendo a ridurre questo valore a seconda delle dimensioni del set di dati e della complessità del compito, intorno a 100-1000.
- Divisione minima delle dimensioni : per impostazione predefinita è impostata su 5 (numero minimo di campioni per avere una divisione candidata), ma su piccoli set di dati potrebbe non essere rilevante (e potresti ridurre questo numero, anche se ciò potrebbe comportare un rischio maggiore di overfitting), mentre su set di dati più grandi potresti voler aumentare questo valore per aumentare la robustezza di ogni singolo albero.
- Arresto anticipato : assicurati che questa opzione sia selezionata se hai utilizzato un set di convalida, per garantire che la creazione di alberi venga interrotta se le metriche di convalida non migliorano con la creazione di nuovi alberi.
Mi dispiace di non avere risposte più precise/definitive alle tue domande. Hai screenshot, set di dati o altro che mostri le differenze? Potrebbe essere utile per chiarire la situazione.
Migliore,
R: La foresta bootstrap è cambiata in JMP Pro18?La tua descrizione rispecchia esattamente ciò che ho capito e ho una buona idea di come quei parametri di ottimizzazione influenzeranno gli alberi che vengono costruiti. Non riesco a trovare nessuno dei miei vecchi esempi, ma so di aver dimostrato alle classi come i singoli alberi non abbiano senso, mentre la media di alberi indipendenti è ciò che rende la foresta bootstrap un buon predittore. Tuttavia, la parte della descrizione che sembra in contrasto con gli alberi risultanti è "Ogni suddivisione in ogni albero considera un sottoinsieme casuale dei predittori". Mi aspetterei che i predittori in ogni albero varino, non solo nella selezione casuale, ma anche nel numero di quelli selezionati. Questo sembra corrispondere a quanto ottenevo in precedenza dalla foresta bootstrap: alcuni alberi usavano 2 predittori, altri 10, ecc. Ora tutti gli alberi sembrano avere lo stesso numero di suddivisioni (e quindi, utilizzare un numero simile di predittori in ogni albero). E il numero di suddivisioni è nell'ordine delle centinaia in tutti i set di dati che ho esaminato (dimensioni modeste, circa 10.000 - 100.000 righe). So che una volta avevo degli alberi che avevano solo una manciata di spaccature, ma ora non mi capitano più. Da qui la mia domanda.
R: La foresta bootstrap è cambiata in JMP Pro18?Ciao @dlehman1 ,
Ho provato a giocare con due set di dati campione, Diamonds Data.jmp (attività di regressione) e Mushroom.jmp (attività di classificazione).
Ho avuto la stessa impressione con il compito di regressione: anche giocando con gli iperparametri, i singoli alberi erano piuttosto complessi. Tuttavia, con il compito di classificazione ho ottenuto alberi individuali più semplici e soddisfacenti, con diverse profondità e complessità:

Quindi, ancora una volta, non risponderò direttamente alla tua domanda su un possibile cambiamento nell'algoritmo della foresta bootstrap tra le versioni di JMP (forse è una questione a cui dovrebbe rispondere il personale tecnico di JMP, @Mark_Bailey ?), ma penso che la complessità dei singoli alberi sia legata alla precisione necessaria per l'attività (regressione equivalente a un numero molto grande di classi rispetto alla classificazione) e ai dati disponibili (quantità e qualità).
Spero che questa risposta possa ancora aiutarti,
R: La foresta bootstrap è cambiata in JMP Pro18?Ho allegato un esempio diverso: dimensioni simili al set di dati dei funghi, modello di classificazione, numero di variabili simile (ma alcuni fattori continui, mentre tutti i fattori dei funghi sono nominali). Gli alberi nella foresta bootstrap hanno tutti centinaia di divisioni. Sono ancora perplesso.
R: La foresta bootstrap è cambiata in JMP Pro18?Non supporto direttamente questa piattaforma, quindi non ho spiegazioni o supporto immediati da offrire. Sono inoltre impegnato a completare lo sviluppo di una nuova piattaforma e di nuove funzionalità in JMP 19, quindi credo che il modo più rapido per risolvere il problema sarà contattare l'assistenza JMP ( support@jmp.com ). Vi prego di rispondere qui con qualsiasi suggerimento riceviate.
R: La foresta bootstrap è cambiata in JMP Pro18?Ciao a tutti,
I nostri test non hanno finora evidenziato differenze metodologiche tra le versioni 17 e 18 di JMP. Per ulteriori domande o dubbi relativi al comportamento riscontrato, vi preghiamo di continuare a contattarci all'indirizzo support@jmp.com . Se possibile, allegate uno o più esempi che mostrino come il comportamento di suddivisione dell'albero differisca da quello previsto. Saremo lieti di continuare i test e approfondire ulteriormente la questione.
-Supporto tecnico JMP
R: La foresta bootstrap è cambiata in JMP Pro18?Il supporto JMP è di nuovo disponibile! Il motivo per cui ottenevo risultati diversi era dovuto a:
"Il "vecchio" valore predefinito (prima del 16) per "termini campionati per suddivisione" era floor(nX/4), dove nX è il numero di X variabili inserite."
Pensavo che il comportamento fosse cambiato da JMP 17 a JMP 18, ma a quanto pare risale a un periodo precedente. Non avevo notato che, nel mio esempio, i termini campionati per suddivisione davano un valore predefinito di 1, mentre in JMP 18 (e anche in 17, 16 e 15, a quanto pare) il valore predefinito è 5. Questo spiega la differenza.