Scikit 학습의 RandomForestClassifier 대 ExtraTreesClassifier


94

누구든지 scikit에서 RandomForestClassifier와 ExtraTreesClassifier의 차이점을 설명 할 수 있습니까? 나는 논문을 읽는 데 상당한 시간을 보냈다.

P. Geurts, D. Ernst. 및 L. Wehenkel, "매우 무작위 트리", 기계 학습, 63 (1), 3-42, 2006

ET의 차이점은 다음과 같습니다.

1) 분할에서 변수를 선택할 때 훈련 세트의 부트 스트랩 샘플 대신 전체 훈련 세트에서 샘플을 추출합니다.

2) 분할은 각 분할에서 샘플의 값 범위에서 완전히 무작위로 선택됩니다.

이 두 가지의 결과는 더 많은 "잎"입니다.


6
내가 extratreeclassifier에 너무 관심이있는 이유는 특정 문제에 대해 ET로 훨씬 더 나은 결과를 얻고 있기 때문입니다. 내 특징 벡터는 200 개 이상의 변수이고 변수는 매우 시끄 럽습니다. 표준 RDF 분류기는 형편없는 결과를 얻지 만 ET는> 90 %의 F1 점수를 얻습니다. 클래스는 비교적 적은 양의 클래스 샘플과 많은 네거티브로 균형이 맞지 않습니다.
DENSON

이 최근의 답변을 참조하십시오 : stats.stackexchange.com/questions/175523/...
아치

답변:


56

예, scikit-learn의 Random Forest 구현을 통해 부트 스트랩 리샘플링을 활성화 또는 비활성화 할 수 있지만 두 결론이 모두 정확합니다.

실제로 RF는 종종 ET보다 더 간결합니다. ET는 일반적으로 계산 관점에서 훈련하는 데 더 저렴하지만 훨씬 더 커질 수 있습니다. 외계인은 언젠가 RF를보다 더 일반화 할 수 있지만 그것은 모두 첫 번째 시도가없는 경우 (그리고 튜닝 할 때 추측하기 어려운 n_estimators, max_features그리고 min_samples_split교차 검증 그리드 검색에 의해).


21

ExtraTrees 분류기는 항상 기능의 일부에 대해 무작위 분할을 테스트합니다 (기능의 일부에 대해 가능한 모든 분할을 테스트하는 RandomForest와는 달리).


13
나는이 코멘트가 Coursera 퀴즈 질문에 대한 말 그대로 대답이라는
Bob

네 @ 밥입니다. 나는이 답변이 매우 유용하다는 것을 알기 때문에 여기에 게시 한 이유는 엑스트라 트리와 랜덤 포레스트의 차이점을 이해하는 데 도움이됩니다.
Muhammad Umar Amanat

3
또한 같은 코스에서 왔습니다. 이 답변은 도움이되었습니다!
killezio

네 @ skeller88 이것은 놀라운 과정입니다. 이 coursera.org/learn/competitive-data-science?specialization=aml
Muhammad Umar Amanat

0

랜덤 포레스트와 추가 트리 (일반적으로 익스트림 랜덤 포레스트라고 함)의 주요 차이점은 로컬 최적 기능 / 분할 조합 (랜덤 포레스트의 경우)을 계산하는 대신 고려중인 각 기능에 대해 랜덤 값이 선택된다는 사실에 있습니다. 분할 용 (추가 트리 용). 여기에 랜덤 포레스트와 추가 트리의 차이점에 대해 더 자세히 알 수있는 좋은 리소스가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.