2015-01-30 2 views
2

baseestimator=RandomForestClassifier과 함께 사용하는 것이 과 다른 점은 sklearn입니까?RandomForestClassifier와 BaggingClassifier의 차이점

+0

나는'base_estimator = DecisionTreeClassifier'로'BaggingClassifier'를 의미한다고 생각하십니까? – ogrisel

+0

with base_estimator = RandomForestClassifer(), 우리는 그것을 사용할 수 있습니까? – UserX

+1

당신은 그럴 수 있지만 그 지점을 볼 수 없습니다. – ogrisel

답변

4

RandomForestClassifier은 외부에서 (개별 트리 피팅에 비해) 배킹을 통해 BaggingClassifier과 같은 임의성을 도입합니다.

그러나 분할을위한 후보 목록을 서브 샘플링하여 트리 생성 절차 깊숙이 무작위성을 주입합니다. 새 임의 집합이 새로운 분할마다 고려됩니다. 이 임의성은 max_features 매개 변수 RandomForestClassifier을 통해 제어되며 해당 매개 변수는 BaggingClassifier(base_estimator=DecisionTreeClassifier())입니다.

+0

이지만 BaggingClassifier에도 max_features 매개 변수가 있습니까? 그 방법은 어떻게 다릅니 까? for n_estimators = 500 BaggingClassifier는 작동하지 않지만 RandomForestClassifier에서는 두 가지 경우에 큰 시간과 메모리 차이를 일으키는 원인이 무엇인지 궁금합니다. – UserX

+0

BaggingClassifier의 기능 샘플링은 트리마다 한 가지 기능 샘플링 작업을 수행하고 있습니다. 'RandomForestClassifier'의 샘플링 기능은 나무에서 split/node ** 당 하나의 독립적 인 샘플링 샘플링을 수행합니다. – ogrisel

+0

고맙습니다. 의심의 여지가 없으며, 탐험하고 이해할 큰 분야입니다! :) – UserX