SlideShare a Scribd company logo
1 of 14
Udruživanje algoritama
Udruživanje
• Više ljudi – bolje odluke
• Integracija algoritama
– Rezultati bolji nego pojedinačno
– Algoritmi bolje uče različite stvari
• Kako lekar donosi dijagnozu
– Konsultacije sa specijalistima
– Sve analize i mišljenja treba posmatrati zajednički
Klasifikacija pomoću različitih modela
Glasanje većine
• Različiti klasifikatori
Glasanje većine (voting)
• Veća tačnost grupnog klasifikatora, čak i kad
su osnovni slabi
Bagging (Bootstrap aggregating)
• Isti klasifikator
– Trenira se na različitim podskupovima osnovnog
skupa podataka
• Bagging – uzorkovanje sa zamenom
• Pasting – uzorkovanje bez zamene
• Kod oba metoda neke instance se mogu naći
više puta u različitim prediktorima
– Bagging – iste instance se mogu naći više puta i
kod istog klasifikatora
Bagging
Boosting
• Iterativna upotreba više slabih klasifikatora –
daje jak klasifikator
• Primena osnovnih algoritama sa različitom
distribucijom
– Jedna upotreba - novo pravilo za predikciju
• Pravilo je obično slabo (ne može samostalno da izvrši
dobru klasifikaciju)
• skup jakih pravila
•
Boosting
Random Forest
• Bagging
• Više stabala (šuma) – bolje od jednog stabla
• Kako se ostvaruje slučajnost (random – slučajan)
– Stabla se treniraju na pomalo različitim podacima
– Ograničavanje izbora koje stablo može da napravi
• Podskupovi karakteristika
– Slučajnost (različitost) stabala
– Brže treniranje
– Koliko karakteristika?
Random Forest
• Smanjena varijansa i nije povećana
sistematska greška (bias)
• Nije potrebno kresanje stabla.
• Koliko stabala?
– dok greška ne prestane da se smanjuje.
• Glasanje većine (kod klasifikacije)
• Srednja vrednost odgovora (kod regresije).
Funkcionisanje algoritma
• Za svako od N stabala:
– Kreira se novi bootstrap uzorak
– Treniranje stabla tim uzorkom
– U svakom čvoru stabla se slučajno bira m
karakteristika
– Na osnovu njih se računa informacioni dobitak (ili
ginijeva nečstoća)
– Ovo se ponavlja sve dok stablo ne bude kompletno.
• Paralelan algoritam
– Može se pokrenuti na onoliko procesora koliko je na
raspolaganju.
Parametri algoritma
• Isti kao kod stabla odlučivanja
– max_depth – maksimalna dubina stabla
– min_samples_split
– min_samples_leaf
– max_features
• Novi parametar
– n_estimators – broj stabala (podrazumevana
vrednost 100)
Prednosti i nedostaci
• Prednosti
– Može se koristiti i za klasifikaciju i regresiju
– Prikazuje se važnost pojedinih karakteristika
– Nema mnogo parametara
– Nije osetljiv na overfiting
– Ne traže pripremu ulaznih podataka
– Dobri su i kad nedostaju podaci
• Nedostaci
– Može postati spor ako ima mnogo stabala
– Brzo se trenira, ali sporo predviđa
– Nema objašnjenja kako se došlo do rezultata

More Related Content

More from Milan Zdravković

UPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNUPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNMilan Zdravković
 
UPRO01 - Modeliranje poslovnih procesa
UPRO01 -  Modeliranje poslovnih procesaUPRO01 -  Modeliranje poslovnih procesa
UPRO01 - Modeliranje poslovnih procesaMilan Zdravković
 
MEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMilan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesPA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesMilan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...Milan Zdravković
 
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesPA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesMilan Zdravković
 
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesPA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesMilan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerPA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerMilan Zdravković
 
IT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursaIT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursaMilan Zdravković
 
Online content management tips and tricks
Online content management tips and tricksOnline content management tips and tricks
Online content management tips and tricksMilan Zdravković
 
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWLMEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWLMilan Zdravković
 
MEZN04 - Softver za kreiranje ontologija - Protege
MEZN04 - Softver za kreiranje ontologija - ProtegeMEZN04 - Softver za kreiranje ontologija - Protege
MEZN04 - Softver za kreiranje ontologija - ProtegeMilan Zdravković
 
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFSMEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFSMilan Zdravković
 
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizacijuMEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizacijuMilan Zdravković
 
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanjaMEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanjaMilan Zdravković
 
UPRO - Rad sa promenljivama procesa
UPRO - Rad sa promenljivama procesaUPRO - Rad sa promenljivama procesa
UPRO - Rad sa promenljivama procesaMilan Zdravković
 

More from Milan Zdravković (20)

Social media promotion
Social media promotionSocial media promotion
Social media promotion
 
UPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNUPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMN
 
UPRO01 - Modeliranje poslovnih procesa
UPRO01 -  Modeliranje poslovnih procesaUPRO01 -  Modeliranje poslovnih procesa
UPRO01 - Modeliranje poslovnih procesa
 
UPRO00 - Uvod u BPM
UPRO00 - Uvod u BPMUPRO00 - Uvod u BPM
UPRO00 - Uvod u BPM
 
MEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjem
 
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesPA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
 
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
 
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesPA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
 
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesPA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
 
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerPA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
 
IT1 1.5 Analiza podataka
IT1 1.5 Analiza podatakaIT1 1.5 Analiza podataka
IT1 1.5 Analiza podataka
 
IT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubomIT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubom
 
IT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursaIT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursa
 
Online content management tips and tricks
Online content management tips and tricksOnline content management tips and tricks
Online content management tips and tricks
 
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWLMEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
 
MEZN04 - Softver za kreiranje ontologija - Protege
MEZN04 - Softver za kreiranje ontologija - ProtegeMEZN04 - Softver za kreiranje ontologija - Protege
MEZN04 - Softver za kreiranje ontologija - Protege
 
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFSMEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
 
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizacijuMEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
 
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanjaMEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
 
UPRO - Rad sa promenljivama procesa
UPRO - Rad sa promenljivama procesaUPRO - Rad sa promenljivama procesa
UPRO - Rad sa promenljivama procesa
 

OKMU 2.5 Udruživanje algoritama

  • 2. Udruživanje • Više ljudi – bolje odluke • Integracija algoritama – Rezultati bolji nego pojedinačno – Algoritmi bolje uče različite stvari • Kako lekar donosi dijagnozu – Konsultacije sa specijalistima – Sve analize i mišljenja treba posmatrati zajednički
  • 5. Glasanje većine (voting) • Veća tačnost grupnog klasifikatora, čak i kad su osnovni slabi
  • 6. Bagging (Bootstrap aggregating) • Isti klasifikator – Trenira se na različitim podskupovima osnovnog skupa podataka • Bagging – uzorkovanje sa zamenom • Pasting – uzorkovanje bez zamene • Kod oba metoda neke instance se mogu naći više puta u različitim prediktorima – Bagging – iste instance se mogu naći više puta i kod istog klasifikatora
  • 8. Boosting • Iterativna upotreba više slabih klasifikatora – daje jak klasifikator • Primena osnovnih algoritama sa različitom distribucijom – Jedna upotreba - novo pravilo za predikciju • Pravilo je obično slabo (ne može samostalno da izvrši dobru klasifikaciju) • skup jakih pravila •
  • 10. Random Forest • Bagging • Više stabala (šuma) – bolje od jednog stabla • Kako se ostvaruje slučajnost (random – slučajan) – Stabla se treniraju na pomalo različitim podacima – Ograničavanje izbora koje stablo može da napravi • Podskupovi karakteristika – Slučajnost (različitost) stabala – Brže treniranje – Koliko karakteristika?
  • 11. Random Forest • Smanjena varijansa i nije povećana sistematska greška (bias) • Nije potrebno kresanje stabla. • Koliko stabala? – dok greška ne prestane da se smanjuje. • Glasanje većine (kod klasifikacije) • Srednja vrednost odgovora (kod regresije).
  • 12. Funkcionisanje algoritma • Za svako od N stabala: – Kreira se novi bootstrap uzorak – Treniranje stabla tim uzorkom – U svakom čvoru stabla se slučajno bira m karakteristika – Na osnovu njih se računa informacioni dobitak (ili ginijeva nečstoća) – Ovo se ponavlja sve dok stablo ne bude kompletno. • Paralelan algoritam – Može se pokrenuti na onoliko procesora koliko je na raspolaganju.
  • 13. Parametri algoritma • Isti kao kod stabla odlučivanja – max_depth – maksimalna dubina stabla – min_samples_split – min_samples_leaf – max_features • Novi parametar – n_estimators – broj stabala (podrazumevana vrednost 100)
  • 14. Prednosti i nedostaci • Prednosti – Može se koristiti i za klasifikaciju i regresiju – Prikazuje se važnost pojedinih karakteristika – Nema mnogo parametara – Nije osetljiv na overfiting – Ne traže pripremu ulaznih podataka – Dobri su i kad nedostaju podaci • Nedostaci – Može postati spor ako ima mnogo stabala – Brzo se trenira, ali sporo predviđa – Nema objašnjenja kako se došlo do rezultata

Editor's Notes

  1. Postoji stara izreka koja kaže da su dve glave mudrije od jedne. Ovo vodi ka ideji da je više glava mudrije od te dve, odnosno ka zaključivanju od strane grupe ljudi. Iako kod ljudi to može da dovede i do lošijih rezultata, kod mašinskog učenja to nije slučaj. Osnovna ideja je da, ako postoji više algoritama koji se treniraju i koji daju pomalo različite rezultate, onda se njihovom integracijom mogu dobiti bolji rezultati nego da se koristi svaki pojedinačno. Razlog je u tome što jedan algoritam (model) bolje uči neke stvari, a drugi neke druge. Iako se ovde pominje više algoritama, ne moraju se koristiti posebni algoritmi. Ovde je veoma bitno da se integracija obavi na pravi način, jer se u suprotnom mogu dobiti i gori rezultati. Pogledajmo, na primer, kako lekar donosi dijagnozu. Ako nije u stanju da odmah zaključi koja je bolest u pitanju, tražiće dodatne analize i eventualno se konsultovati sa specijalistima. Svaka od tih pojedinačnih analiza i mišljenja specijalista, ako se posmatraju pojedinačno vode ka nekom zaključku, ali tek ako se posmatraju zajedno može se doći do tačnog zaključka.
  2. Osnovna ideja koja leži iza ensemble metoda se može predstaviti sledećom slikom. Na slici a je prikazan binarni klasifikacioni problem. Pripadnici različitih klasa su označeni krstićima i kružićima. Na sledećoj slici su prikazani rezultati klasifikacije dobijeni različitim modelima. Svaki od tih modela vrši podelu, kreiranjem granice razdvajanja u obliku elipse. Na slici b je prikazano nekoliko elipsi dobijenih različitim modelima. Kombinovanjem elipsi (slika c) se može dobiti složenija granica razdvajanja. Ovde se postavlja nekoliko pitanja. Koje modele (algoritme) treba koristiti? Kako osigurati da oni uče različite stvari? Kako kombinovati njihove rezultate. U opštem slučaju se može koristiti isti klasifikator, ali se mogu koristiti i različiti. Najčešće se koristi stablo odlučivanja, ali ni to nije pravilo. Da bismo obezbedili da klasifikatori uče različite stvari možemo da koristimo različite pristupe i to je osnovna razlika između pojedinih algoritama ove grupe
  3. Jedan od načina da se obezbedi da različiti algoritmi uče različite stvari o istom problemu je da se koriste vrlo različiti klasifikatori. Pretpostavimo da je istrenirano nekoliko različitih klasifikatora i da svaki postiže oko 80% tačnosti. Recimo da su pitanju klasifikator sa logističkom regresijom, SVM, k-NN i Random Forest klasifikator.
  4. Jedan od načina da se dobije bolji klasifikator od svakog pojedinačnog je da se od svakog od njih dobije predviđanje, a da se onda glasanjem odluči o krajnjem ishodu. Predviđa se onaj ishod koji dobije najviše glasova. To je tzv. klasifikator sa glasanjem većine. Grupni klasifikator obično ima veću tačnost u odnosu na pojedinačne klasifikatore. To je posebno interesantno u slučaju kada osnovni klasifikatori nemaju veliku tačnost. Čak i u slučajevima kad su osnovni klasifikatori slabi, odnosno kad imaju tačnost koja je samo malo veća od običnog pogađanja, dobijeni grupni klasifikator može da ostvari visoku tačnost.
  5. Skup različitih klasifikatora se može dobiti i upotrebom istog klasifikatora (algoritma), ali da se ti klasfikatori treniraju na različitim podskupovima podataka iz osnovnog skupa podataka. Ako se uzorkovanje vrši sa zamenom onda se metod naziva bagging (skraćenica za bootstrap aggregating), a ako se vrši bez zamene onda se naziva pasting. Drugim rečima i u jednom i u drugom slučaju se dozovljava da se pojedine instance nađu više puta u različitim prediktorima, ali se kod bagginga dozvoljava da se iste instance nađu više puta i kod istog klasifikatora.
  6. Na slici je dat grafički prikaz uzorkovanja i treniranja kod baging klasifikatora Sa slike se pored ostalog vidi da se različiti klasifikatori mogu da treniraju paralelno, na različitim procesorima, ili čak na različitim serverima. Isto se može reći i za predviđanje. To je i jedan od razloga zašto su ovi klasifikatori tako popularni – oni se vrlo dobro skaliraju.
  7. Jak klasifikator se može dobiti od slabih klasifikatora i ako se oni koriste iterativno. To se upravo koristi kod tzv. boosting algoritama. Postupak kreiranja modela se sastoji od primene osnovnih algoritama sa različitom distribucijom. Svaki put kad se primeni osnovni algoritam, on kreira novo pravilo za predikciju. To pravilo je obično slabo, u smislu da samostalno ne može da izvrši dobru klasifikaciju. Nakon više iteracija se sva slaba pravila kombinuju da bi se dobilo jako pravilo (skup jakih pravila).
  8. Postupak određivanja prave distribucije se odvija tako što se na početku koristi osnovni algoritam i svakoj opservaciji se dodeli jednaka težina. Ako posle prve faze treniranja postoje neke greške u klasifikaciji onda se tim opservacijama pridaje veća pažnja (daje im se veća težina). Nakon toga se ide sa narednom primenom osnovnog algoritma. Ovi koraci se ponavljaju sve dok se dostigne zadati broj koraka ili dok se ne postigne željena tačnost. NA kraju se kombinuju izlazi iz svih slabih klasifikatora i eventualno dobija jak klasifikator. Kod boostinga se veća pažnja pridaje instancama koje nisu dobro klasifikovane ili imaju veći procenat greške kod prethodnih klasifikacija. Ako je tačka pogrešno klasifikovana onda se njoj pridaje veća važnost u narednim klasifikacijama. (ovo je prikazano time što je tačka povećana)
  9. Jedan od najpopularnijih algoritama iz grupe bagging algoritama je svakako RandomForest. Ideja koja stoji iza ovog algoritma je da, ako je jedno stablo dobro onda je mnogo stabala (šuma engl. forest) sigurno bolja. Uslov je da stabla budu dovoljno različita. Jedna od najinteresantnijih stvari kod ovog algoritma je način na koji se ostvaruje slučajnost iz imena (random – slučajan). Prvi način je onaj koji je već opisan kod cele grupe algoritama, to je bagging. Stabla možemo učinimo različitim ako ih treniramo na pomalo različitim podacima, pa se zbog toga vrši uzorkovanje kao kod bagginga. To ipak nije dovoljno različitosti. Drugo mesto gde se to može ostvariti je da se ograniče izbori koje stablo može da napravi. Zbog toga se u svakom čvoru stablu daje slučajno izabran podskup karakteristika, tako da se odluka donosi samo na osnovu tih karakteristika. Pored toga što se izborom podskupova karakteristika omogućava različitost (slučajnost) svakog stabla, upotreba podskupova takođe i ubrzava treniranje, pošto se u svakoj fazi razmatra manje karakteristika. Ovde se postavlja pitanje koliko karakteristika treba uzimati u obzir, ali je eksperimentalno pokazano da RandomForest nije preterano osetljiv na taj parametar. U praksi je obično veličina podskupa jednaka kvadratnom korenu ukupnog broja karakteristika.
  10. Efekat prethodna dva metoda je da se smanjuje varijansa, a da se pri tome ne utiče na sistematsku grešku. Drugi efekat je da nije potrebno kresanje stabla. Drugi parametar koji treba izabrati je koliko stabala treba staviti u šumu. Obično se stabla dodaju dok greška ne prestane da se smanjuje. Nakon što se napravi skup svih stabala, izlaz se dobija glasanjem većine (kod klasifikacije) ili kao srednja vrednost odgovora (kod regresije).
  11. Za svako od N stabala: Kreira se novi bootstrap uzorak na osnovu polazno skupa za treniranje Taj uzorak se koristi za treniranje stabla U svakom čvoru stabla se slučajno bira m karakteristika i na osnovu njih se računa informacioni dobitak (ili ginijeva nečstoća). Od tih karakteristika se bira optimalna. Ovo se ponavlja sve dok stablo ne bude kompletno. Ako se pogleda ovaj algoritam vidi se je on neobičan u tom smislu da je po prirodi paralelan. Pošto stabla ne zavise jedno od drugog, to znači da se ona mogu trenirati i kasnije koristiti za donošenje odluka na različitim procesorima. RandomForest se može pokrenuti na onoliko procesora koliko imate na raspolaganju.
  12. Kako se kod ovog algoritma koriste stabla odlučivanja, to je većina parametara ista kao kod stabla odlučivanja.
  13. Jedna od prednosti ovog algoritma je da se može koristiti i za klasifikaciju i za regresiju. Pored toga moguće je pratiti relativnu važnost koju algoritam dodeljuje pojedinim karakteristikama. Algoritam je vrlo jednostavan za upotrebu, jer nema mnogo parametara, parametri su sami po sebi razumljivi i podrazumevane vrednosti obično daju dobre rezultate. Još jedna prednost je da algoritam nije osetljiv na preterano podudaranje. Ako ima dovoljno stabala nema overfittinga. Osnovni nedostatak algoritma je da ako ima previše stabala algoritam postaje spor i neefikasan u relnom vremenu. Generalno se ovi algoritmi brzo treniraju, ali su dosta sporiji kod kasnijeg predviđanja.