Utilizzo di algoritmi di machine learning di Ensemble in Weka

Algoritmi di ensemble sono una potente classe di algoritmi di apprendimento automatico che combinano le previsioni di più modelli. Un vantaggio dellutilizzo di Weka per lapprendimento automatico è la disponibilità di così tanti diversi algoritmi di apprendimento automatico di ensemble.

Panoramica degli algoritmi di ensemble

Faremo un tour dei 5 migliori ensemble di algoritmi di apprendimento automatico in Weka. Ogni algoritmo che verrà trattato sarà brevemente descritto in termini di come funziona e i parametri chiave dellalgoritmo saranno evidenziati così come lalgoritmo stesso sarà dimostrato nellinterfaccia di Weka Explorer.

I 5 algoritmi che esamineremo sono:

  1. Bagging
  2. Random Forest
  3. AdaBoost
  4. Voting
  5. Stacking

Verrà utilizzato un problema di classificazione dellapprendimento automatico standard per dimostrare ciascun algoritmo. Nello specifico, il problema della classificazione binaria della ionosfera. Questo è un buon set di dati per dimostrare gli algoritmi di classificazione perché le variabili di input sono numeriche e hanno tutte la stessa scala, il problema ha solo due classi da discriminare.

Ogni istanza descrive le proprietà dei ritorni radar dallatmosfera e dal il compito è prevedere se esiste o meno una struttura nella ionosfera o meno. Ci sono 34 variabili di input numerico generalmente della stessa scala. Puoi trovare ulteriori informazioni su questo set di dati nel UCI Machine Learning Repository . I risultati migliori sono nellordine del 98% di precisione.

Avvia Weka Explorer:

  1. Apri Weka GUI Chooser.
  2. Fai clic su “Explorer “Per aprire Weka Explorer.
  3. Carica il set di dati Ionosphere dal file data / ionosphere.arff
  4. Fai clic su” Classifica “per aprire la scheda Classifica .

1. Bagging

Bootstrap Aggregation o Bagging in breve è un algoritmo di insieme che può essere utilizzato per la classificazione o la regressione. Bootstrap è una tecnica di stima statistica in cui una quantità statistica come una media viene stimata da più campioni casuali dei dati (con sostituzione). È una tecnica utile quando si dispone di una quantità limitata di dati e si è interessati a una stima più affidabile di una quantità statistica.

Questo principio di esempio può essere utilizzato con modelli di apprendimento automatico. Più campioni casuali dei dati di addestramento vengono estratti con la sostituzione e utilizzati per addestrare più modelli di apprendimento automatico diversi. Ogni modello viene quindi utilizzato per effettuare una previsione e i risultati vengono calcolati in media per fornire una previsione più solida.

È utilizzato al meglio con modelli che hanno un bias basso e una varianza alta, il che significa che le previsioni che fanno dipendono fortemente dai dati specifici da cui sono stati formati. Lalgoritmo di insaccamento più utilizzato che soddisfa questo requisito di varianza elevata sono gli alberi decisionali.

Scegli lalgoritmo di insaccamento:

  1. Fai clic sul pulsante “Scegli” e seleziona “Insacco” sotto il gruppo “meta”.
  2. Fare clic sul nome dellalgoritmo per rivedere la configurazione dellalgoritmo.
Configurazione Weka per lalgoritmo di insaccamento

Un parametro di configurazione chiave nellinsacco è il tipo di modello che viene insaccato . Limpostazione predefinita è REPTree che è limplementazione Weka di un albero decisionale standard, chiamato anche albero di classificazione e regressione o CART in breve. Questo è specificato nel parametro classifier.

La dimensione di ogni campione casuale è specificata in “bagSizePercent”, che è una dimensione come percentuale del set di dati di addestramento non elaborato. Limpostazione predefinita è 100%, che creerà un nuovo campione casuale della stessa dimensione del set di dati di addestramento, ma avrà una composizione diversa.

Questo perché il campione casuale viene estratto con la sostituzione, il che significa che ogni volta unistanza viene estratta in modo casuale dal set di dati di addestramento e aggiunta al campione, viene anche aggiunta nuovamente al set di dati di addestramento, il che significa che può essere scelta di nuovo e aggiunta due o più volte al campione.

Infine, il numero di sacchi (e il numero di classificatori) può essere specificato nel parametro “numIterations”. Limpostazione predefinita è 10, sebbene sia comune utilizzare valori in centinaia o migliaia. Continua ad aumentare il valore di “numIterations” finché non vedi più un miglioramento nel modello o finisci la memoria.

  1. Fai clic su “OK” per chiudere la configurazione dellalgoritmo.
  2. Fare clic sul pulsante “Avvia” per eseguire lalgoritmo sul set di dati Ionosphere.

È possibile vedere che con la configurazione predefinita linsaccamento raggiunge una precisione del 91%:

Risultati della classificazione Weka per lalgoritmo di bagging

2.Random Forest

Random Forest è unestensione del bagging per alberi decisionali che può essere utilizzato per la classificazione o la regressione. Un aspetto negativo degli alberi decisionali in sacchi è che gli alberi decisionali sono costruiti utilizzando un algoritmo avido che seleziona il miglior punto di divisione in ogni fase del processo di costruzione dellalbero. In quanto tali, gli alberi risultanti finiscono per apparire molto simili, il che riduce la varianza delle previsioni da tutte le borse, il che a sua volta danneggia la robustezza delle previsioni fatte.

Random Forest è un miglioramento degli alberi decisionali in sacchi che interrompe lalgoritmo di divisione greedy durante la creazione dellalbero in modo che i punti di divisione possano essere selezionati solo da un sottoinsieme casuale degli attributi di input. Questa semplice modifica può avere un grande effetto diminuendo la somiglianza tra gli alberi insaccati e a loro volta le previsioni risultanti.

Scegli lalgoritmo della foresta casuale:

  1. Fai clic su “Scegli” e seleziona “RandomForest” nel gruppo “alberi”.
  2. Fai clic sul nome dellalgoritmo per rivedere la configurazione dellalgoritmo.
Configurazione Weka per lalgoritmo Random Forest

Oltre ai parametri elencati sopra per linsaccamento, un parametro chiave per la foresta casuale è il numero di attributi da considerare in ogni punto di divisione. In Weka questo può essere controllato dallattributo “numFeatures”, che per impostazione predefinita è impostato su 0, che seleziona automaticamente il valore in base a una regola pratica.

  1. Fai clic su “OK” per chiudere il configurazione dellalgoritmo.
  2. Fai clic sul pulsante “Start” per eseguire lalgoritmo sul set di dati Ionosphere.

Puoi vedere che con la configurazione predefinita le foreste casuali raggiungono una precisione del 92%:

Risultati della classificazione Weka per lalgoritmo della foresta casuale

3. AdaBoost

AdaBoost è un algoritmo di apprendimento automatico di insieme per problemi di classificazione. Fa parte di un gruppo di metodi di insieme chiamati boosting, che aggiungono nuovi modelli di apprendimento automatico in una serie in cui i modelli successivi tentano di correggere gli errori di previsione fatti dai modelli precedenti. AdaBoost è stata la prima implementazione di successo di questo tipo di modello.

Adaboost è stato progettato per utilizzare modelli di alberi decisionali brevi, ciascuno con un singolo punto di decisione. Tali alberi corti sono spesso indicati come monconi decisionali.

Il primo modello è costruito normalmente. Ogni istanza nel set di dati di addestramento viene ponderata e i pesi vengono aggiornati in base alla precisione complessiva del modello e al fatto che unistanza sia stata classificata correttamente o meno. I modelli successivi vengono addestrati e aggiunti finché non viene raggiunta una precisione minima o non sono possibili ulteriori miglioramenti. Ogni modello è ponderato in base alla sua abilità e questi pesi vengono utilizzati quando si combinano le previsioni di tutti i modelli su nuovi dati.

Scegli lalgoritmo AdaBoost:

  1. Fai clic sul pulsante Pulsante “Scegli” e seleziona “AdaBoostM1” nel gruppo “meta”.
  2. Fai clic sul nome dellalgoritmo per rivedere la configurazione dellalgoritmo.
Configurazione Weka per lalgoritmo AdaBoost

Lo studente debole allinterno il modello AdaBoost può essere specificato dal parametro classifier. Limpostazione predefinita è lalgoritmo del moncone decisionale, ma è possibile utilizzare altri algoritmi. un parametro chiave oltre al discente debole è il numero di modelli da creare e aggiungere in serie. Può essere specificato nel parametro “numIterations” e il valore predefinito è 10.

  1. Fai clic su “OK” per chiudere la configurazione dellalgoritmo.
  2. Fai clic sul pulsante “Start” per eseguire lalgoritmo sul set di dati Ionosphere.

Puoi vedere che con la configurazione predefinita AdaBoost raggiunge una precisione del 90%:

Risultati della classificazione Weka per lalgoritmo AdaBoost

4. Votazione

Il voto è forse lalgoritmo di insieme più semplice ed è spesso molto efficace. Può essere utilizzato per problemi di classificazione o regressione. La votazione funziona creando due o più sottomodelli. Ogni sottomodello fa previsioni che vengono combinate in qualche modo, ad esempio prendendo la media o la modalità delle previsioni, consentendo a ciascun sottomodello di votare su quale dovrebbe essere il risultato.

Scegli il voto algoritmo:

  1. Fare clic sul pulsante “Scegli” e selezionare “Vota” nel gruppo “meta”.
  2. Fare clic sul nome dellalgoritmo per rivedere la configurazione dellalgoritmo.
Configurazione Weka per lalgoritmo dellinsieme di voti

Il parametro chiave di un insieme di Voto è la selezione dei sottomodelli. I modelli possono essere specificati in Weka nel parametro “classificatori”.Facendo clic su questo parametro è possibile aggiungere una serie di classificatori:

Selezione algoritmo Weka per lalgoritmo dellinsieme di voti

Facendo clic sul pulsante “Modifica” con una categoria di classificazione selezionata puoi configurare i dettagli di quella categoria. Un obiettivo nella selezione dei sottomodelli è selezionare modelli che facciano previsioni abbastanza diverse (previsioni non correlate). In quanto tale, è una buona regola pratica selezionare tipi di modelli molto diversi, come alberi, metodi basati su istanze, funzioni e così via.

Un altro parametro chiave da configurare per il voto è il modo in cui le previsioni del i sottomodelli vengono combinati. Questo è controllato dal parametro “combinationRule” che è impostato per prendere la media delle probabilità per impostazione predefinita.

  1. Fare clic su “OK” per chiudere la configurazione dellalgoritmo.
  2. Fare clic su il pulsante “Avvia” per eseguire lalgoritmo sul set di dati Ionosphere.

Puoi vedere che con la configurazione predefinita che Voto raggiunge una precisione del 64%. Ovviamente, questa tecnica ha ottenuto scarsi risultati perché è stato selezionato solo il sottomodello ZeroR.

5. Stacking

Stacked Generalization o Stacking in breve è una semplice estensione agli insiemi di voto che può essere utilizzato per problemi di classificazione e regressione.

Oltre a selezionare più sottomodelli, lo stacking ti consente specificare un altro modello per apprendere come combinare al meglio le previsioni dai sotto-modelli. Poiché un meta modello viene utilizzato per combinare al meglio le previsioni dei sottomodelli, questa tecnica è talvolta chiamata fusione, come nel mescolare le previsioni insieme.

Scegli lalgoritmo di impilamento:

  1. Fai clic sul pulsante “Scegli” e seleziona “Stacking” nel gruppo “meta”.
  2. Fai clic sul nome dellalgoritmo per rivedere la configurazione dellalgoritmo.
Configurazione Weka per lalgoritmo dellinsieme di impilamento

Come con il classificatore di voto, puoi specificare i sottomodelli nel parametro classificatori. Il modello che verrà addestrato per apprendere come combinare al meglio le previsioni dal sottomodello può essere specificato nel parametro “metaClassifier”, che è impostato su ZeroR per impostazione predefinita. È comune utilizzare un algoritmo lineare come la regressione lineare o la regressione logistica rispettivamente per problemi di regressione e di classificazione. Questo per ottenere un output che sia una semplice combinazione lineare delle previsioni dei sottomodelli.

  1. Fare clic su “OK” per chiudere la configurazione dellalgoritmo.
  2. Fare clic sul pulsante Pulsante “Start” per eseguire lalgoritmo sul set di dati Ionosphere.

Puoi vedere che con la configurazione predefinita lo Stacking raggiunge una precisione del 64%:

Risultati della classificazione Weka per lalgoritmo dellinsieme di impilamento

Ancora , come per la votazione, Stacking ha ottenuto scarsi risultati perché è stato selezionato solo il sottomodello ZeroR.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *