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”.

Denson
źródło
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).

ogrisel
źródło
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)

Muhammad Umar Amanat
źródło
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.

maria_g
źródło
Myślę, że chciałeś wkleić link.
Tomasz Gandor