JMP Pro "Bootstrap Forest" VS Python "lightgbm"?from lightgbm import LGBMRegressor
Grazie Esperti!
Automazione e scriptingFinestreRe: JMP Pro "Bootstrap Forest" VS python "lightgbm"?Ciao @lala ,
Qual è esattamente la domanda? Questi due algoritmi sono modelli basati su alberi, ma Random Forest (chiamato anche Bootstrap Forest in JMP Pro) è un modello di tipo "bagging" (aggregazione bootstrap) e LightGBM un modello di tipo boosting.
Ciò significa che Random Forest è costituito da diversi alberi addestrati in parallelo su vari set di dati. Questi set di dati sono simili ma diversi e creati utilizzando il metodo bootstrap (campionamento con sostituzione del set di dati originale per creare i set di dati bootstrap). Questa operazione consente di ottenere set di dati simili ma diversi, il che aiuta gli alberi ad apprendere modelli leggermente diversi. Una volta addestrati questi alberi, il risultato finale della previsione è la media delle singole previsioni degli alberi (per la regressione) o la classe più probabile degli alberi (per la classificazione).

Immagine da https://www.geeksforgeeks.org/machine-learning/bagging-vs-boosting-in-machine-learning/
Random Forest ha anche un processo di selezione casuale delle caratteristiche a ogni suddivisione, il che lo rende molto utile per gestire la multicollinearità e consente la creazione di alberi più diversificati (riducendo al contempo il rischio di overfitting).
Al contrario, gli alberi Boosted vengono addestrati in modo sequenziale: si inizia con un albero semplice, quindi si valuta il residuo di questo modello e, nel secondo modello, si utilizzano questi residui per addestrare il secondo albero dove i residui sono più elevati, al fine di migliorare le prestazioni di predizione dell'insieme di alberi. Quindi, ogni albero cerca di "correggere" i problemi di predizione dell'albero precedente. Alla fine della "catena" di alberi, si ottiene il risultato della predizione (classe o valore a seconda del compito):

Immagine da https://www.geeksforgeeks.org/machine-learning/bagging-vs-boosting-in-machine-learning/
Quindi la modalità di addestramento (parallela vs. sequenziale) è la differenza più grande tra i due algoritmi che hai menzionato:

La particolarità di LightGBM rispetto ad altri modelli basati su alberi di boosting è il metodo per far crescere l'albero, che è una crescita foglia per foglia, rispetto a XGBoost o altri modelli di boosting che faranno crescere l'albero livello per livello: ciò significa che non è possibile sviluppare ulteriormente un nodo se l'albero non è "bilanciato":

La scelta di questi modelli dipende dal compito e dal compromesso tra distorsione e varianza: gli algoritmi di bagging come Random Forest riducono la varianza (sovraadattamento), mentre i modelli di boosting come Boosted Trees riducono la distorsione.
Spero che questa risposta ti possa aiutare,
Re: JMP Pro "Bootstrap Forest" VS python "lightgbm"?Grazie, esperto!
Utilizzo spesso la partizione di JSL perché la sua formula di previsione è semplice e facile da capire.
Soddisfa sostanzialmente i requisiti.
Ho imparato ponendo domande all'intelligenza artificiale
Sapendo che anche la funzione lightgbm di Python è molto potente, l'intelligenza artificiale dice solo che si tratta di una foresta casuale.
Lo eseguo tramite il codice Python fornito dall'IA e utilizzando chiamate JSL.
Dopo le statistiche, il suo effetto è migliore della foresta casuale di JMP Pro
Naturalmente non modificherò troppo i parametri.Solo un semplice paragone.
AI ha affermato che la formula di previsione generata da Bootstrap Forest in JMP Pro 19 è stata notevolmente migliorata
Ma non potevo usare JMP Pro 19
Grazie!
Re: JMP Pro "Bootstrap Forest" VS python "lightgbm"?JMP Partition è un albero decisionale (la base/nucleo di qualsiasi metodo basato su alberi come LightGBM o Random Forest).
Fai attenzione alle risposte dell'IA. Non so quale usi, ma su argomenti molto specifici e tecnici potrebbero essere molto inclini alle allucinazioni. Io tendo a usare Gemini (di Google) quando voglio approfondire un argomento tecnico perché l'ho trovato il più interessante, ma ci sono comunque delle allucinazioni.
Chiaramente, LightGBM NON è un algoritmo Random Forest, ma un algoritmo Boosted Tree (vedere la descrizione delle due tipologie nel mio post iniziale).
Ti consiglio di leggere la documentazione tecnica su LightGBM per saperne di più: https://github.com/Microsoft/LightGBM e https://lightgbm.readthedocs.io/en/stable/index.html
E il documento correlato LightGBM: un albero decisionale ad alta efficienza per il potenziamento del gradiente .
L'effetto "migliore" che stai osservando potrebbe essere l'uso del boosting, che in effetti tende a fornire previsioni migliori (poiché gli alberi sequenziali cercano di ridurre il più possibile gli errori degli alberi precedenti, risultando in un ensemble con elevata precisione) poiché riduce il bias. Ma è necessaria una strategia di convalida robusta per evitare l'overfitting, poiché la riduzione del bias può aumentare la varianza: compromesso bias-varianza - Wikipedia ; Avendo un algoritmo molto "preciso" che apprende modelli molto specifici, potresti finire per "adattare il rumore" e ottenere previsioni non coerenti quando si distribuisce il modello e lo si utilizza su nuovi dati non ancora osservati.
Una grande differenza tra i metodi Random Forest e Boosted Tree è la sensibilità alla messa a punto degli iperparametri di questi algoritmi: Random Forest è molto robusto alla messa a punto degli iperparametri e fornisce buoni risultati senza messa a punto, mentre Boosted Tree potrebbe richiedere sforzi maggiori nella messa a punto degli iperparametri per ottenere prestazioni migliori. Vedere [1802.09596] Sintonizzazione: importanza degli iperparametri degli algoritmi di apprendimento automatico per maggiori informazioni e un confronto sull'importanza della messa a punto degli iperparametri sulle prestazioni di diversi algoritmi.
Per scoprire come eseguire l'ottimizzazione degli iperparametri in JMP, puoi consultare alcuni post correlati come Albero potenziato - Progettazione del tavolo di ottimizzazione .
Spero che questa risposta complementare ti sia d'aiuto,
Re: JMP Pro "Bootstrap Forest" VS python "lightgbm"?Grazie Esperti!
Bene, sto facendo questa domanda su gemini2.5 pro

Si dice che lightgbm superi di gran lunga JMP.
Quando si tratta di domande di programmazione, mi rivolgo sempre alla modalità esperto di grok4. È quella intelligente e cerca le conoscenze online per rispondere. Tuttavia, il numero di volte in cui può essere utilizzato gratuitamente ogni giorno è limitato, quindi apprezzo molto l'opportunità di usarlo.
Re: JMP Pro "Bootstrap Forest" VS python "lightgbm"?Ieri è stato aggiornato grok4.1. Invece, ho la sensazione che l'illusione dell'IA sia stata rafforzata.
Re: JMP Pro "Bootstrap Forest" VS python "lightgbm"?Ahah, non aspettarti che un'IA "sappia" tutto, e in particolare su casi d'uso specifici. Non "sa" nulla e mostra solo la sequenza di parole più probabile, allineata alla tua query. Non ha un senso di giusto o falso, solo di similarità/probabilità basata sul suo set di dati di addestramento, con tutto il giusto e lo sbagliato al suo interno...
Dire " lightgbm supera di gran lunga JMP " non significa nulla, poiché confronta un algoritmo specifico (LightGBM) con un software commerciale (JMP) che gestisce diversi algoritmi di Machine Learning. È una sciocchezza assoluta.
Oltre a ciò, fate attenzione a frasi generiche come "Il modello A è sempre migliore del modello B": affermazioni di questo tipo dovrebbero sempre essere accolte con una buona dose di scetticismo. Queste affermazioni generiche non sono supportate dai dati ma da altre motivazioni, oppure, nel migliore dei casi, possono essere guidate da studi di benchmarking. Tuttavia, questi benchmark e set di dati potrebbero non riflettere la vostra situazione e i vostri dati specifici, quindi la loro "classifica" potrebbe non essere appropriata e/o rilevante per la vostra situazione.
A seconda del set di dati, degli obiettivi, della precisione richiesta, dell'implementazione, ecc., potrebbe essere preferibile uno o l'altro algoritmo. Per una risposta rumorosa, preferirei affidarmi a un risultato Random Forest piuttosto che a uno Boosted Tree, poiché il rischio di overfitting è maggiore con quest'ultimo. Con misurazioni precise e a basso rumore, e se il mio set di dati è sufficientemente ampio da suddividere i dati in set rappresentativi di training/validazione/test, potrei utilizzare un approccio Boosted Tree invece di un Random Forest se desidero ottenere prestazioni predittive migliori.
Provare e imparare sembra l'opzione più sicura e migliore.
Re: JMP Pro "Bootstrap Forest" VS python "lightgbm"?Grazie!
Posso chiedere, una volta addestrato Bootstrap Forest di JMP Pro, come può essere utilizzato per il calcolo delle previsioni sui nuovi dati che devono essere previsti?
Prendiamo come esempio i dati con serie temporali.
Quando scrivo il codice, insisto nell'utilizzare il modello esperto grok4.
Re: JMP Pro "Bootstrap Forest" VS python "lightgbm"?Ciao @lala ,
Non ho familiarità con le previsioni di serie temporali, ma il modello Bootstrap Forest può essere utilizzato come qualsiasi altro modello: nel triangolo rosso accanto alla piattaforma Bootstrap, clicca su Salva colonne > Salva formula di previsione. Una nuova colonna con la formula Bootstrap Forest apparirà nella tabella dati.
Quindi, se si desidera prevedere i risultati su un'altra tabella dati, è possibile copiare e incollare questa colonna della formula di previsione dalla tabella dati originale a quella nuova. Assicurarsi che le variabili di input abbiano gli stessi nomi, in modo che la formula possa essere calcolata senza problemi.
Spero che questo possa aiutarti,