Articles

Un ghid complet pentru algoritmul random forest

Posted by admin

Random forest este un algoritm flexibil, ușor de utilizat de învățare mașină care produce, chiar și fără tuning hiper-parametru, un rezultat mare cele mai multe ori. Este, de asemenea, unul dintre cei mai utilizați algoritmi, datorită simplității și diversității sale (poate fi utilizat atât pentru sarcini de clasificare, cât și pentru regresie). În această postare vom afla cum funcționează algoritmul forestier aleatoriu, cum diferă de alți algoritmi și cum să îl folosim.

ce este pădurea aleatorie?,

Random forest este un algoritm de învățare supravegheat. „Pădurea „pe care o construiește, este un ansamblu de arbori de decizie, de obicei instruiți cu metoda” insacuire”. Ideea generală a metodei de insacuire este că o combinație de modele de învățare crește rezultatul general.,

Cuprins

  • Cum funcționează
  • viața Reală analogie
  • Caracteristica importanta
  • Diferența între arbori de decizie și pădurilor aleatoare
  • Important hyperparameters (putere predictivă, viteza)
  • Avantaje și dezavantaje
  • cazuri de Utilizare
  • Sumar

Cum Aleatoare Pădure Funcționează

Random forest este un supravegheate algoritm de învățare. „Pădurea „pe care o construiește, este un ansamblu de arbori de decizie, de obicei instruiți cu metoda” insacuire”., Ideea generală a metodei de insacuire este că o combinație de modele de învățare crește rezultatul general.

pune pur și simplu: pădurea aleatorie construiește mai mulți copaci de decizie și le îmbină împreună pentru a obține o predicție mai precisă și mai stabilă.un mare avantaj al random forest este că poate fi folosit atât pentru probleme de clasificare, cât și pentru regresie, care formează majoritatea sistemelor actuale de învățare automată. Să ne uităm la pădurea aleatorie în clasificare, deoarece clasificarea este uneori considerată blocul de construcție al învățării automate., Mai jos puteți vedea cum un random forest-ar arata ca, cu doi arbori:

Random forest are aproape aceeași hyperparameters ca un arbore de decizie sau o ambalare clasificator. Din fericire, nu este nevoie să combinați un arbore de decizie cu un clasificator de ambalare, deoarece puteți utiliza cu ușurință clasificatorul-clasa de pădure aleatoare. Cu aleatoare forest, puteți face, de asemenea, cu sarcini de regresie folosind regresor algoritmului.Pădurea aleatorie adaugă aleatoriu modelului, în timp ce crește copacii., În loc să caute cea mai importantă caracteristică în timp ce împarte un nod, caută cea mai bună caracteristică dintr-un subset aleatoriu de caracteristici. Aceasta are ca rezultat o mare diversitate care, în general, are ca rezultat un model mai bun.

prin urmare, în pădure aleatoare, doar un subset aleator de caracteristici este luată în considerare de algoritmul pentru divizarea unui nod. Puteți chiar să faceți copacii mai aleatorii folosind în plus praguri aleatorii pentru fiecare caracteristică, mai degrabă decât să căutați cele mai bune praguri posibile (cum ar fi un arbore de decizie normal).,Andrew vrea să decidă unde să meargă în timpul vacanței de un an, așa că îi întreabă pe cei care îl cunosc cel mai bine pentru sugestii. Primul prieten pe care îl caută îl întreabă despre plăcerile și neplăcerile călătoriilor sale din trecut. Pe baza răspunsurilor, El îi va da lui Andrew câteva sfaturi.

aceasta este o abordare tipică algoritm copac decizie. Prietenul lui Andrew a creat reguli care să-i ghideze decizia cu privire la ceea ce ar trebui să recomande, folosind răspunsurile lui Andrew., după aceea, Andrew începe să ceară din ce în ce mai mulți prieteni să-l sfătuiască și ei îi pun din nou diferite întrebări de la care pot folosi pentru a obține câteva recomandări. În cele din urmă, Andrew alege locurile în care recomandă cel mai mult pentru el, care este abordarea tipică a algoritmului forestier aleatoriu.

importanța caracteristicilor

o altă calitate excelentă a algoritmului forestier aleatoriu este că este foarte ușor să se măsoare importanța relativă a fiecărei caracteristici din predicție., Sklearn oferă un instrument excelent pentru aceasta, care măsoară importanța unei caracteristici, analizând cât de mult nodurile copacilor care utilizează această caracteristică reduc impuritatea în toți copacii din pădure. Calculează automat acest scor pentru fiecare caracteristică după antrenament și scalează rezultatele, astfel încât suma tuturor importanței să fie egală cu una.

dacă nu știți cum funcționează un arbore de decizie sau ce este o frunză sau un nod, iată o descriere bună din Wikipedia: „”într-un arbore de decizie fiecare nod intern reprezintă un „test” pe un atribut (de ex., dacă un flip monedă vine capete sau cozi), fiecare ramură reprezintă rezultatul testului, și fiecare nod frunză reprezintă o etichetă de clasă (decizia luată după calcul toate atributele). Un nod care nu are copii este o frunză.'”

privind importanța caracteristicii, puteți decide ce caracteristici să scadă, deoarece nu contribuie suficient (sau uneori deloc) la procesul de predicție. Acest lucru este important deoarece o regulă generală în învățarea automată este că, cu cât aveți mai multe caracteristici, cu atât este mai probabil ca modelul dvs. să sufere de suprasolicitare și invers.,mai jos este un tabel și o vizualizare care arată importanța a 13 caracteristici, pe care le-am folosit în timpul unui proiect de clasificare supravegheat cu celebrul set de date Titanic de pe kaggle. Puteți găsi întregul proiect aici.

Diferența între Arbori de Decizie și Pădurilor Aleatoare

în Timp ce aleatoare pădure este o colecție de arbori de decizie, există unele diferențe.,

dacă introduceți un set de date de instruire cu caracteristici și etichete într-un arbore de decizie, acesta va formula un set de reguli, care vor fi utilizate pentru a face predicțiile.de exemplu, pentru a anticipa dacă o persoană va face clic pe o reclamă online, este posibil să colectați anunțurile pe care a făcut clic în trecut și unele caracteristici care descriu decizia sa. Dacă puneți caracteristicile și etichetele într-un arbore de decizie, acesta va genera câteva reguli care ajută la prezicerea dacă anunțul va fi făcut clic sau nu., În comparație, algoritmul forestier aleatoriu selectează aleatoriu observații și caracteristici pentru a construi mai mulți arbori de decizie și apoi medii rezultatele.o altă diferență este că arborii de decizie „adânci” ar putea suferi de suprasolicitare. De cele mai multe ori, random forest previne acest lucru prin crearea de subseturi aleatorii ale caracteristicilor și construirea de copaci mai mici folosind aceste subseturi. După aceea, combină subtreele. Este important să rețineți că acest lucru nu funcționează de fiecare dată și, de asemenea, face calculul mai lent, în funcție de câți copaci construiește pădurea aleatorie.,

Important Hyperparameters

hyperparameters în pădure aleatoare sunt utilizate pentru a crește puterea de predicție a modelului sau de a face modelul mai repede. Să ne uităm la hiperparametrii sklearns built-in funcția de pădure aleatoare.

1. Creșterea puterea de predicție

în Primul rând, există n_estimators hyperparameter, care este doar numărul de arbori algoritmul construiește înainte de a lua maximum de vot sau de a lua mediile de previziuni., În general, un număr mai mare de arbori crește performanța și face predicțiile mai stabile, dar încetinește și calculul.un alt hiperparametru important este max_features, care este numărul maxim de caracteristici Forest aleatoare consideră a împărți un nod. Sklearn oferă mai multe opțiuni, toate descrise în documentație.

ultimul hiperparametru important este min_sample_leaf. Aceasta determină numărul minim de frunze necesare pentru a împărți un nod intern.

2., Creșterea vitezei modelului

hiperparametrul n_jobs spune motorului câte procesoare este permis să utilizeze. Dacă are o valoare de unul, poate utiliza doar un procesor. O valoare de ” -1 ” înseamnă că nu există nici o limită.

hiperparametrul random_state face ca ieșirea modelului să fie replicabilă. Modelul va produce întotdeauna aceleași rezultate atunci când are o valoare definită de random_state și dacă i s-au dat aceleași hiperparametre și aceleași date de antrenament.

în cele din urmă, există oob_score (numită și OOB sampling), care este o metodă de validare încrucișată aleatorie a pădurilor., În această eșantionare, aproximativ o treime din date nu sunt utilizate pentru a instrui modelul și pot fi utilizate pentru a evalua performanța acestuia. Aceste probe sunt numite eșantioane out-of-bag. Este foarte similar cu metoda de validare leave-one-out-cross, dar aproape nici o sarcină suplimentară de calcul merge împreună cu ea.avantajele și dezavantajele algoritmului forestier aleatoriu unul dintre cele mai mari avantaje ale pădurii aleatorii este versatilitatea sa. Poate fi folosit atât pentru sarcini de regresie, cât și pentru clasificare și este, de asemenea, ușor să vizualizați importanța relativă pe care o atribuie caracteristicilor de intrare.,aleatoare forest este, de asemenea, un algoritm foarte util, deoarece hiperparametrii implicite pe care le utilizează produc adesea un rezultat bun de predicție. Înțelegerea hiperparametrilor este destul de simplă și, de asemenea, nu există multe dintre ele. una dintre cele mai mari probleme în învățarea automată este suprasolicitarea, dar de cele mai multe ori acest lucru nu se va întâmpla datorită Clasificatorului forestier aleatoriu. Dacă există destui copaci în pădure, clasificatorul nu va depăși modelul.,principala limitare a pădurii aleatorii este că un număr mare de copaci pot face algoritmul prea lent și ineficient pentru predicțiile în timp real. În general, acești algoritmi se antrenează rapid, dar destul de lent pentru a crea predicții odată ce sunt instruiți. O predicție mai precisă necesită mai mulți copaci, ceea ce duce la un model mai lent. În majoritatea aplicațiilor din lumea reală, algoritmul forestier aleatoriu este suficient de rapid, dar cu siguranță pot exista situații în care performanța în timp de rulare este importantă și alte abordări ar fi preferate.,și, desigur, random forest este un instrument de modelare predictivă și nu un instrument descriptiv, ceea ce înseamnă că dacă sunteți în căutarea unei descrieri a relațiilor din datele dvs., alte abordări ar fi mai bune.

cazuri aleatorii de utilizare a pădurilor

algoritmul aleatoriu al pădurilor este utilizat într-o mulțime de domenii diferite, cum ar fi sectorul bancar, piața de valori, medicina și comerțul electronic.în finanțe ,de exemplu, este utilizat pentru a detecta clienții mai susceptibili de a-și rambursa datoria la timp sau de a folosi mai frecvent serviciile unei bănci. În acest domeniu este, de asemenea, utilizat pentru a detecta fraudatorii pentru a înșela banca., În tranzacționare, algoritmul poate fi utilizat pentru a determina comportamentul viitor al unui stoc. în domeniul sănătății se utilizează pentru a identifica combinația corectă de componente în medicină și pentru a analiza istoricul medical al pacientului pentru a identifica bolile.aleatoare forest este utilizat în e-commerce pentru a determina dacă un client va place de fapt produsul sau nu.aleatoare forest este un algoritm de mare pentru a instrui devreme în procesul de dezvoltare a modelului, pentru a vedea cum funcționează. Simplitatea sa face ca construirea unei păduri aleatorii „rele” să fie o propunere dificilă., algoritmul este, de asemenea, o alegere excelentă pentru oricine are nevoie să dezvolte rapid un model. În plus, oferă un indicator destul de bun al importanței pe care o atribuie caracteristicilor dvs.pădurile aleatorii sunt, de asemenea, foarte greu de învins în ceea ce privește performanța. Desigur, puteți găsi întotdeauna un model care poate funcționa mai bine, cum ar fi o rețea neuronală, de exemplu, dar acestea necesită de obicei mai mult timp pentru a se dezvolta, deși pot gestiona o mulțime de tipuri diferite de caracteristici, cum ar fi binare, categorice și numerice.,în general, random forest este un instrument (mai ales) rapid, simplu și flexibil, dar nu fără anumite limitări.Niklas Donges este un antreprenor, scriitor tehnic și expert în AI. A lucrat la o echipă Ai a SAP timp de 1, 5 ani, după care a fondat Markov Solutions. Compania cu sediul în Berlin este specializată în inteligență artificială, învățare automată și învățare profundă, oferind soluții software personalizate bazate pe AI și programe de consultanță pentru diverse companii.

Leave A Comment