Utilizarea algoritmilor Ensemble Machine Learning în Weka

Algoritmii ansamblului sunt o clasă puternică de algoritm de învățare automată care combină predicțiile din mai multe modele. Un avantaj al utilizării Weka pentru învățarea automată este disponibilitatea a atât de mulți algoritmi de învățare automată a ansamblurilor. ansamblu de algoritmi de învățare automată în Weka. Fiecare algoritm care va fi acoperit va fi descris pe scurt în funcție de modul în care funcționează și vor fi evidențiați parametrii cheie ai algoritmului, precum și algoritmul în sine ar fi demonstrat în interfața Weka Explorer.

Cei 5 algoritmi care vom analiza sunt: ​​

  1. Împachetarea
  2. Pădurea aleatorie
  3. AdaBoost
  4. Votarea
  5. Stivuirea

Pentru a demonstra fiecare algoritm va fi utilizată o problemă standard de clasificare a învățării automate. Mai exact, problema clasificării binare Ionosphere. Acesta este un set de date bun pentru a demonstra algoritmi de clasificare, deoarece variabilele de intrare sunt numerice și toate au aceeași scară, problema are doar două clase de discriminat.

Fiecare instanță descrie proprietățile revenirilor radar din atmosferă și sarcina este de a prezice dacă există sau nu structură în ionosferă sau nu. Există 34 de variabile numerice de intrare, în general, cu aceeași scară. Puteți afla mai multe despre acest set de date în UCI Machine Learning Repository . Cele mai bune rezultate sunt în ordinea unei precizii de 98%.

Porniți Weka Explorer:

  1. Deschideți Weka GUI Chooser.
  2. Faceți clic pe „Explorer ”Pentru a deschide Weka Explorer.
  3. Încărcați setul de date Ionosphere din fișierul data / ionosphere.arff
  4. Faceți clic pe„ Clasificare ”pentru a deschide fila Clasificare .

1. Bagging

Bootstrap Aggregation sau Bagging pe scurt este un algoritm de ansamblu care poate fi utilizat pentru clasificare sau regresie. Bootstrap este o tehnică de estimare statistică în care o cantitate statistică ca o medie este estimată din mai multe eșantioane aleatorii de date (cu înlocuire). Este o tehnică utilă atunci când aveți o cantitate limitată de date și sunteți interesat de o estimare mai robustă a unei cantități statistice.

Acest principiu eșantion poate fi utilizat cu modele de învățare automată. Mai multe eșantioane aleatorii de date de antrenament sunt trase cu înlocuire și utilizate pentru a instrui mai multe modele diferite de învățare automată. Fiecare model este apoi utilizat pentru a face o predicție, iar rezultatele sunt mediate pentru a oferi o predicție mai robustă.

Este cel mai bine utilizat cu modele care au o părtinire scăzută și o varianță mare, ceea ce înseamnă că predicțiile pe care le fac sunt foarte dependenți de datele specifice din care au fost instruiți. Cel mai utilizat algoritm pentru depunere care corespunde acestei cerințe de varianță ridicată sunt arborii de decizie.

Alegeți algoritmul de împachetare:

  1. Faceți clic pe butonul „Alegeți” și selectați „Împachetare” sub grupul „meta”.
  2. Faceți clic pe numele algoritmului pentru a examina configurația algoritmului.
Configurarea Weka pentru algoritmul de punere în buzunar

Un parametru cheie de configurare în ambalare este tipul de model care este ambalat . Valoarea implicită este REPTree, care este implementarea Weka a unui arbore de decizie standard, denumit și Arborele de clasificare și regresie sau CART pe scurt. Acest lucru este specificat în parametrul clasificator.

Dimensiunea fiecărui eșantion aleatoriu este specificată în „bagSizePercent”, care este o dimensiune ca procent din setul de date de antrenament brut. Valoarea implicită este de 100%, ceea ce va crea un nou eșantion aleatoriu de aceeași dimensiune ca setul de date de antrenament, dar va avea o compoziție diferită.

Acest lucru se datorează faptului că eșantionul aleator este desenat cu înlocuire, ceea ce înseamnă că de fiecare dată o instanță este extrasă aleatoriu din setul de date de antrenament și adăugată la eșantion, este de asemenea adăugată înapoi în setul de date de antrenament, ceea ce înseamnă că poate fi aleasă din nou și adăugată de două ori sau de mai multe ori la eșantion.

În cele din urmă, numărul de pungi (și numărul de clasificatori) poate fi specificat în parametrul „numIterations”. Valoarea implicită este 10, deși este obișnuit să folosiți valori în sute sau mii. Continuați să măriți valoarea „numierațiilor” până când nu mai vedeți o îmbunătățire a modelului sau rămâneți fără memorie.

  1. Faceți clic pe „OK” pentru a închide configurația algoritmului.
  2. Faceți clic pe butonul „Start” pentru a rula algoritmul pe setul de date Ionosphere.

Puteți vedea că, cu configurația implicită, punerea în funcțiune atinge o precizie de 91%:

Rezultatele clasificării Weka pentru algoritmul de împachetare

2.Pădurea aleatoare

Pădurea aleatoare este o extensie a sacului pentru arborii de decizie care poate fi utilizată pentru clasificare sau regresie. Un aspect negativ al arborilor de decizie în saci este că arborii de decizie sunt construiți folosind un algoritm lacom care selectează cel mai bun punct de divizare la fiecare etapă a procesului de construire a arborilor. Ca atare, arborii rezultați par să arate foarte asemănător, ceea ce reduce varianța previziunilor din toate pungile, ceea ce, la rândul său, afectează robustețea previziunilor făcute. perturbă algoritmul de împărțire lacom în timpul creării arborelui, astfel încât punctele de împărțire pot fi selectate numai dintr-un subset aleatoriu al atributelor de intrare. Această schimbare simplă poate avea un efect mare, scăzând asemănarea dintre copacii în saci și, la rândul lor, predicțiile rezultate.

Alegeți algoritmul forestier aleatoriu:

  1. Faceți clic pe „Alegeți” butonul și selectați „RandomForest” sub grupul „copaci”.
  2. Faceți clic pe numele algoritmului pentru a revizui configurația algoritmului.
Configurarea Weka pentru algoritmul forestier aleatoriu

În plus față de parametrii enumerați mai sus pentru depunere, un parametru cheie pentru pădurea aleatorie este numărul de atribute de luat în considerare în fiecare punct divizat. În Weka acest lucru poate fi controlat de atributul „numFeatures”, care în mod implicit este setat la 0, care selectează automat valoarea pe baza unei reguli generale.

  1. Faceți clic pe „OK” pentru a închide configurația algoritmului.
  2. Faceți clic pe butonul „Start” pentru a rula algoritmul pe setul de date Ionosphere.

Puteți vedea că, cu configurația implicită, pădurile aleatorii ating o precizie de 92%:

Rezultatele clasificării Weka pentru algoritmul forestier aleatoriu

3. AdaBoost

AdaBoost este un ansamblu de algoritmi de învățare automată pentru probleme de clasificare. Face parte dintr-un grup de metode de ansamblu numite boosting, care adaugă noi modele de învățare automată într-o serie în care modelele ulterioare încearcă să remedieze erorile de predicție făcute de modelele anterioare. AdaBoost a fost prima implementare cu succes a acestui tip de model.

Adaboost a fost conceput pentru a utiliza modele scurte de arborele de decizie, fiecare cu un singur punct de decizie. Acești copaci scurți sunt adesea denumiți butuci de decizie.

Primul model este construit conform normelor normale. Fiecare instanță din setul de date de antrenament este ponderată, iar ponderile sunt actualizate pe baza acurateței generale a modelului și dacă o instanță a fost clasificată corect sau nu. Modelele ulterioare sunt instruite și adăugate până când se obține o precizie minimă sau nu sunt posibile îmbunătățiri suplimentare. Fiecare model este ponderat în funcție de abilitățile sale și aceste greutăți sunt utilizate la combinarea predicțiilor din toate modelele pe date noi.

Alegeți algoritmul AdaBoost:

  1. Faceți clic pe Butonul „Alegeți” și selectați „AdaBoostM1” sub grupul „meta”.
  2. Faceți clic pe numele algoritmului pentru a examina configurația algoritmului.
Configurare Weka pentru algoritmul AdaBoost

Cel slab care învață în modelul AdaBoost poate fi specificat de parametrul clasificator. Implicit este algoritmul de decizie, dar pot fi utilizați și alți algoritmi. un parametru cheie în plus față de cursantul slab este numărul de modele de creat și adăugat în serie. Acest lucru poate fi specificat în parametrul „numIterations” și implicit la 10.

  1. Faceți clic pe „OK” pentru a închide configurația algoritmului.
  2. Faceți clic pe butonul „Start” pentru a rula algoritmul din setul de date Ionosphere.

Puteți vedea că, cu configurația implicită, AdaBoost obține o precizie de 90%:

Rezultatele clasificării Weka pentru algoritmul AdaBoost

4. Votul

Votul este probabil cel mai simplu algoritm de ansamblu și este adesea foarte eficient. Poate fi folosit pentru probleme de clasificare sau regresie. Votarea funcționează prin crearea a două sau mai multe sub-modele. Fiecare sub-model face predicții care sunt combinate într-un fel, cum ar fi luând media sau modul predicțiilor, permițând fiecărui sub-model să voteze care ar fi rezultatul.

Alegeți votul algoritm:

  1. Faceți clic pe butonul „Alegeți” și selectați „Votează” sub grupul „meta”.
  2. Faceți clic pe numele algoritmului pentru a revizui configurația algoritmului.
Configurare Weka pentru algoritmul ansamblului de votare

Parametrul cheie al unui ansamblu Vot este selecția sub-modelelor. Modelele pot fi specificate în Weka în parametrul „clasificatoare”.Dacă faceți clic pe acest parametru, puteți adăuga un număr de clasificatori:

Selecția algoritmului Weka pentru algoritmul ansamblului de votare

Dacă faceți clic pe butonul „Editați” cu un clasificator selectat, puteți configura detaliile acelui clasificator. Un obiectiv în selectarea submodelelor este de a selecta modele care fac predicții destul de diferite (predicții necorelate). Ca atare, este o regulă bună să selectați tipuri de model foarte diferite, cum ar fi copaci, metode bazate pe instanțe, funcții și așa mai departe.

Un alt parametru cheie de configurat pentru vot este modul în care predicțiile sub-modelele sunt combinate. Aceasta este controlată de parametrul „combinațieRule”, care este setat să ia în mod implicit media probabilităților.

  1. Faceți clic pe „OK” pentru a închide configurația algoritmului.
  2. Faceți clic pe butonul „Start” pentru a rula algoritmul pe setul de date Ionosphere.

Puteți vedea că, cu configurația implicită, Vote atinge o precizie de 64%. Evident, această tehnică a obținut rezultate slabe, deoarece a fost selectat doar sub-modelul ZeroR.

5. Stacking

Generalizarea Stacked sau Stacking pe scurt este o extensie simplă la ansamblurile de votare care pot fi utilizate pentru probleme de clasificare și regresie.

Pe lângă selectarea mai multor sub-modele, stivuirea vă permite pentru a specifica un alt model pentru a afla cum să combinați cel mai bine predicțiile din sub-modele. Deoarece un meta model este utilizat pentru a combina cel mai bine predicțiile sub-modelelor, această tehnică este uneori numită amestec, ca în amestecarea predicțiilor împreună.

Alegeți algoritmul Stacking:

  1. Faceți clic pe butonul „Alegeți” și selectați „Stivuire” sub grupul „meta”.
  2. Faceți clic pe numele algoritmului pentru a revizui configurația algoritmului.
Configurarea Weka pentru algoritmul ansamblului de stivuire

Ca și în cazul clasificatorului Vot, puteți specifica sub-modelele în parametrul clasificatori. Modelul care va fi instruit pentru a afla cum să combinați cel mai bine predicțiile din sub-model poate fi specificat în parametrul „metaClassifier”, care este setat la ZeroR în mod implicit. Este comun să se utilizeze un algoritm liniar, cum ar fi regresia liniară sau regresia logistică, pentru probleme de regresie și respectiv clasificare. Aceasta este pentru a obține o ieșire care este o combinație liniară simplă a predicțiilor sub-modelelor.

  1. Faceți clic pe „OK” pentru a închide configurația algoritmului.
  2. Faceți clic pe Butonul „Start” pentru a rula algoritmul pe setul de date Ionosphere.

Puteți vedea că, cu configurația implicită, Stacking atinge o precizie de 64%:

Rezultatele clasificării Weka pentru algoritmul ansamblului de stivuire

Din nou , la fel ca și votul, Stacking a obținut rezultate slabe, deoarece a fost selectat doar sub-modelul ZeroR.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *