Tot ce trebuie să știți despre optimizarea algoritmului de pădure aleatorie

Publicat: 2020-12-22

Să presupunem că ați construit un program de învățare automată și ați folosit modelul de pădure aleatoare pentru a-l antrena. Cu toate acestea, ieșirea/rezultatul programului nu este atât de precis pe cât doriți să fie. Deci ce faci?

Există trei metode pentru îmbunătățirea unui model de învățare automată pentru a îmbunătăți rezultatul unui program de învățare automată:

  • Îmbunătățiți calitatea datelor de intrare și ingineria caracteristicilor
  • Reglarea hiperparametrică a algoritmului
  • Folosind diferiți algoritmi

Dar dacă ați folosit deja toate sursele de date disponibile? Următorul pas logic este reglarea hiperparametrului. Astfel, dacă ați creat un program de învățare automată cu un model de pădure aleatoare, ați folosit cea mai bună sursă de date și doriți să îmbunătățiți în continuare rezultatul programului, ar trebui să optați pentru reglarea aleatorie a hiperparametrilor pădurii .

Înainte de a ne aprofunda în reglarea aleatorie a hiperparametrilor pădurii , să aruncăm o privire mai întâi la hiperparametri și la reglarea hiperparametrilor în general.

Cuprins

Ce sunt hiperparametrii?

În contextul învățării automate, hiperparametrii sunt parametri a căror valoare este folosită pentru a controla procesul de învățare al modelului. Ele sunt externe modelului, iar valorile lor nu pot fi estimate din date.

Pentru reglarea aleatorie a hiperparametrilor pădurii , hiperparametrii includ numărul de arbori de decizie și numărul de caracteristici luate în considerare de fiecare arbore în timpul divizării nodurilor.

Ce este ajustarea hiperparametrului?

Reglarea hiperparametrului este procesul de căutare a unui set ideal de hiperparametri pentru o problemă de învățare automată.

Acum că am văzut ce este reglarea hiperparametrilor și hiperparametrilor, să aruncăm o privire la hiperparametrii dintr-o reglare aleatorie a hiperparametrilor de pădure și pădure aleatoare .

Citiți: Întrebări pentru interviu în arborele decizional

Ce este Random Forest Hyperparameter Tuning?

Pentru a înțelege ce este reglarea aleatorie a hiperparametrilor de pădure , vom arunca o privire la cinci hiperparametri și la reglarea hiperparametrilor pentru fiecare.

Hiperparametru 1: max_depth

max_depth este calea cea mai lungă dintre nodul rădăcină și nodul frunză dintr-un copac într-un algoritm de pădure aleatoriu. Prin reglarea acestui hiperparametru, putem limita adâncimea până la care dorim ca arborele să crească în algoritmul de pădure aleatoare. Acest hiperparametru reduce creșterea arborelui de decizie lucrând la nivel macro.

Hiperparametru 2: max_terminal_nodes

Acest hiperparametru restricționează creșterea unui arbore de decizie în pădurea aleatorie prin stabilirea unei condiții privind împărțirea nodurilor din arbore. Împărțirea nodurilor se va opri, iar creșterea arborelui va înceta dacă există mai multe noduri terminale decât numărul specificat după împărțire.

De exemplu, să presupunem că avem un singur nod în arbore, iar nodurile terminale maxime sunt setate la patru. Deoarece există un singur nod, pentru început, nodul va fi împărțit, iar arborele va crește în continuare. După ce împărțirea atinge limita maximă de patru, arborele de decizie nu va crește mai mult, deoarece divizarea va fi încheiată. Utilizarea reglajului hiperparametrului max_terminal_nodes ajută la prevenirea supraajustării. Cu toate acestea, dacă valoarea reglajului este foarte mică, este probabil ca pădurea să nu se adapteze.

Citiți înrudite: Clasificarea arborelui de decizie

Hiperparametru 3: n_estimatori

Un cercetător de date se confruntă întotdeauna cu dilema câți arbori de decizie să ia în considerare. Se poate spune că alegerea unui număr mai mare de copaci este calea de urmat. Acest lucru poate fi adevărat, dar crește și complexitatea în timp a algoritmului forestier aleatoriu.

Cu ajustarea hiperparametrului n_estimators, putem decide numărul de arbori din modelul forestier aleatoriu. Valoarea implicită a parametrului n_estimators este zece. Aceasta înseamnă că zece arbori de decizie diferiți sunt construiți implicit. Prin reglarea acestui hiperparametru, putem modifica numărul de arbori care vor fi construiți.

Hiperparametru 4: max_features

Cu această reglare hiperparametrică, putem decide numărul de caracteristici care trebuie furnizate fiecărui copac din pădure. În general, dacă valoarea caracteristicilor maxime este setată la șase, performanța generală a modelului este cea mai mare. Cu toate acestea, puteți seta și valoarea maximă a parametrului caracteristicilor la valoarea implicită, care este rădăcina pătrată a numărului de caracteristici prezente în setul de date.

Hiperparametrul 5: min_samples_split

Această reglare hiperparametrică decide numărul minim de mostre necesare pentru a împărți un nod frunză intern. În mod implicit, valoarea acestui parametru este două. Înseamnă că pentru a diviza un nod intern, trebuie să existe cel puțin două mostre prezente.

Cum se face reglarea aleatorie a hiperparametrului pădurii?

Trebuie să efectuați manual reglarea aleatorie a hiperparametrului pădurii , apelând funcția care creează modelul. Reglarea aleatorie a hiperparametrilor pădurii este mai mult o abordare experimentală decât una teoretică. Astfel, poate fi necesar să încercați diferite combinații de reglare hiperparametrică și să evaluați performanța fiecăruia înainte de a vă decide asupra uneia.

De exemplu, să presupunem că trebuie să reglați numărul de estimatori și împărțirea minimă a unui arbore într-un algoritm de pădure aleatoriu. Prin urmare, puteți utiliza următoarea comandă pentru a efectua reglarea hiperparametrului:

pădure = RandomForestClassifier(random_state = 1, n_estimators = 20, min_samples_split = 2)

În exemplul de mai sus, numărul de estimatori este modificat de la valoarea implicită de zece la douăzeci. Astfel, în loc de zece arbori de decizie, algoritmul va crea douăzeci de arbori în pădurea aleatorie. În mod similar, un nod frunză intern va fi divizat numai dacă are cel puțin două mostre.

Concluzie

Sperăm că acest blog v-a ajutat să înțelegeți reglarea aleatorie a hiperparametrilor pădurii . Există mulți alți hiperparametri pe care îi puteți regla pentru a îmbunătăți rezultatul programului de învățare automată. În majoritatea cazurilor, reglarea hiperparametrului este suficientă pentru a îmbunătăți rezultatul programului de învățare automată.

Cu toate acestea, în cazuri rare, chiar și reglarea aleatorie a hiperparametrilor pădurii s-ar putea să nu se dovedească utilă. În astfel de situații, va trebui să luați în considerare un alt algoritm de învățare automată, cum ar fi regresia liniară sau logistică, KNN sau orice alt algoritm pe care îl considerați potrivit.

Dacă sunteți interesat să aflați mai multe despre arbori de decizie, învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de formare riguroasă, peste 30 de studii de caz și sarcini. , statutul de absolvenți IIIT-B, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

De ce să folosiți algoritmul forestier aleatoriu?

Algoritmul forestier aleatoriu este unul dintre cele mai utilizate modele atunci când vine vorba de categoria algoritmilor de învățare supravegheată în învățarea automată. Algoritmul forestier aleatoriu poate rezolva atât problemele de clasificare, cât și de regresie în învățarea automată. Este axat pe învățarea ansamblului, conceptul care combină mai mulți clasificatori pentru rezolvarea unei probleme complicate, astfel încât să poată îmbunătăți funcționarea generală și rezultatul unui model. Algoritmul forestier aleatoriu este popular deoarece durează mult mai puțin timp pentru antrenament, comparativ cu mulți alți algoritmi. De asemenea, poate oferi previziuni foarte precise pentru seturi masive de date, chiar dacă unele părți ale datelor lipsesc.

Care este diferența dintre un arbore de decizie și o pădure aleatoare?

Un algoritm de arbore de decizie este o tehnică de învățare supravegheată în învățarea automată care modelează un singur arbore constituind o serie de decizii ulterioare care conduc la un rezultat specific. Un arbore de decizie este simplu de interpretat și înțeles. Dar este adesea inadecvat pentru rezolvarea unor probleme mai complexe. Aici devine util algoritmul forestier aleatoriu – folosește mai mulți arbori de decizie pentru a rezolva probleme specifice. Cu alte cuvinte, algoritmul forestier aleatoriu generează aleatoriu mai mulți arbori de decizie și combină rezultatele acestora pentru a produce rezultatul final. Deși pădurea aleatoare este mai dificil de interpretat decât arborele de decizie, ea produce rezultate precise atunci când sunt implicate volume masive de date.

Care sunt avantajele utilizării unui algoritm de pădure aleatoare?

Cel mai mare avantaj al utilizării algoritmului forestier aleatoriu constă în flexibilitatea acestuia. Puteți utiliza această tehnică atât pentru sarcini de clasificare, cât și pentru sarcini de regresie. Pe lângă versatilitatea sa, acest algoritm este, de asemenea, extrem de util – parametrii impliciti pe care îi folosește sunt suficient de eficienți pentru a produce o precizie ridicată în predicții. Mai mult decât atât, modelele de clasificare a învățării automate sunt binecunoscute pentru probleme precum supraajustarea. Dacă există un număr mare de copaci în algoritmul forestier aleatoriu, problemele de supraadaptare în clasificare pot fi depășite cu ușurință.