RandomForestClassifier vs ExtraTreesClassifier w scikit Learn


95

Czy ktoś może wyjaśnić różnicę między RandomForestClassifier a ExtraTreesClassifier w scikit Learn. Spędziłem sporo czasu czytając artykuł:

P. Geurts, D. Ernst. I L. Wehenkel, „Extremely randomized trees”, Machine Learning, 63 (1), 3-42, 2006

Wygląda na to, że są to różnice dla ET:

1) Podczas wybierania zmiennych w podziale, próbki są pobierane z całego zestawu uczącego zamiast próbki typu bootstrap z zestawu uczącego.

2) Podziały są wybierane całkowicie losowo z zakresu wartości w próbie przy każdym podziale.

Rezultatem tych dwóch rzeczy jest znacznie więcej „liści”.


7
Powodem, dla którego tak bardzo interesuję się ekstratreeklasatorem, jest to, że uzyskuję znacznie lepsze wyniki z ET w przypadku konkretnego problemu. Mój wektor cech jest duży> 200 zmiennych, a zmienne są bardzo zaszumione. Standardowy klasyfikator RDF daje kiepskie wyniki, ale ET uzyskuje wyniki F1> 90%. Klasy są niezrównoważone ze stosunkowo niewielką liczbą pozytywnych próbek klas i wieloma negatywami.
denson

Zobacz także tę nowszą
Archie

Odpowiedzi:


59

Tak, oba wnioski są poprawne, chociaż implementacja Random Forest w scikit-learn umożliwia włączenie lub wyłączenie ponownego próbkowania bootstrap.

W praktyce RF są często bardziej zwarte niż ET. Szkolenie ET jest generalnie tańsze z obliczeniowego punktu widzenia, ale może wzrosnąć znacznie. ET może kiedyś uogólniać lepiej niż terminali, ale trudno się domyślić, gdy jest to przypadek, nie próbując zarówno pierwszy (i strojenie n_estimators, max_featuresa min_samples_splitprzez cross-zatwierdzony poszukiwaniu siatki).


21

Klasyfikator ExtraTrees zawsze testuje losowe podziały na ułamku cech (w przeciwieństwie do RandomForest, który testuje wszystkie możliwe podziały na ułamku cech)


13
Jestem rozbawiony, że ten komentarz jest dosłowną odpowiedzią na pytanie quizu Coursera
Bob

Tak, @Bob to jest. Uważam, że ta odpowiedź jest bardzo przydatna, dlatego zamieściłem tutaj, pomaga innym w zrozumieniu różnicy między lasem dodatkowym a losowym.
Muhammad Umar Amanat

3
również pochodził z tego samego kursu. i ta odpowiedź była pomocna!
killezio

yes @ skeller88 to jest niesamowity kurs. Powinieneś także spojrzeć na tę coursera.org/learn/competitive-data-science?specialization=aml
Muhammad Umar Amanat

0

Główna różnica między losowymi lasami a dodatkowymi drzewami (zwykle nazywanymi ekstremalnymi lasami losowymi) polega na tym, że zamiast obliczać lokalnie optymalną kombinację cecha / podział (dla lasu losowego), dla każdego rozważanego obiektu wybierana jest wartość losowa. za podział (na dodatkowe drzewa). Oto dobre źródło, aby dowiedzieć się więcej o różnicach między nimi w bardziej szczegółowy sposób Losowy las a dodatkowe drzewo.


Myślę, że chciałeś wkleić link.
Tomasz Gandor
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.