Extra Trees - 임의 분할
Random Forest - 최적 분할
n_estimators : int, default=100
생성할 트리의 수
criterion : {“squared_error”, “absolute_error”}, default=”squared_error”
분할 품질을 측정하는 기능.
평균 제곱 오류(mean squared error)에 대한 "squared_error"
평균 절대 오류(mean absolute error)에 대한 "absolute_error"
max_depth : int, default=None
트리의 최대 깊이
min_samples_split : int or float, default=2
내부 노드를 분할하는 데 필요한 최소 샘플 수
max_features : {“sqrt”, “log2”, None}, int or float, default=1.0
최상의 분할을 찾을 때 고려해야 할 기능의 수
회귀 모델
# source code
class sklearn.ensemble.ExtraTreesRegressor(n_estimators=100,
*, criterion='squared_error', max_depth=None,
min_samples_split=2, min_samples_leaf=1,
min_weight_fraction_leaf=0.0, max_features=1.0,
max_leaf_nodes=None, min_impurity_decrease=0.0,
bootstrap=False, oob_score=False, n_jobs=None,
random_state=None, verbose=0, warm_start=False,
ccp_alpha=0.0, max_samples=None)
분류 모델
# source code
class sklearn.ensemble.ExtraTreesClassifier(n_estimators=100,
*, criterion='gini', max_depth=None, min_samples_split=2,
min_samples_leaf=1, min_weight_fraction_leaf=0.0,
max_features='sqrt', max_leaf_nodes=None,
min_impurity_decrease=0.0,
bootstrap=False, oob_score=False, n_jobs=None,
random_state=None, verbose=0, warm_start=False,
class_weight=None, ccp_alpha=0.0, max_samples=None)
Bootstrap 사용 여부
랜덤 포레스트는 Bootstrap 샘플링을 사용하지만
엑스트라 트리는 Bootstrap=False가 기본값
노드 분할 방법
랜덤 포레스트는 최적의 분할을 선택
엑스트라 트리는 무작위 분할 후 선택
편향과 분산 차이
엑스트라 트리는 모든 데이터를 사용하기 때문에 랜덤 포레스트에 비해 편향이 감소함
무작위 선택의 영향으로 분산 또한 감소
속도
엑스트라 트리는 데이터를 랜덤 분할 후 선택함
최적의 분할을 계산하지 않아서 속도가 빠름