-
엑스트라 트리.
- 후보 특성을 무작위로 분할한 다음 최적의 분할을 찾는다.
- 랜덤포레스트의 경우 DecisionTreeClassifier(splitter = 'best') 를 고정으로 사용하지만, 엑스트라 트리는
DecisionTreeClassifier(splitter = 'random') 을 사용하고, 부트스트랩 샘플링은 적용하지 않는다.
* splitter : 각 트리에서 분할을 선택하는데 사용하는 전략
- 각 트리가 만든 확률값을 평균하여 예측한다.
from sklearn.ensemble import ExtraTreesClassifier from sklearn.datasets import make_moons from sklearn.model_selection import train_test_split from sklearn.datasets import load_breast_cancer ## n_jobs= -1 , 컴퓨터의 모든 코어를 사용하겠다는 의미 Xm, ym = make_moons(n_samples=100, noise=0.25, random_state=3) Xm_train, Xm_test, ym_train, ym_test = train_test_split( Xm, ym, stratify=ym, random_state=42) xtree = ExtraTreesClassifier(n_estimators=5, n_jobs=-1, random_state=0) xtree.fit(Xm_train, ym_train) print(xtree.score(Xm_train, ym_train)) ##moon 데이터셋 print(xtree.score(Xm_test, ym_test)) cancer = load_breast_cancer() Xc_train, Xc_test, yc_train, yc_test = train_test_split( cancer.data, cancer.target, random_state=0) xtree2 = ExtraTreesClassifier(n_estimators=100, n_jobs=-1, random_state=0) xtree2.fit(Xc_train, yc_train) print(xtree2.score(Xc_train, yc_train)) ##암 데이터셋 print(xtree2.score(Xc_test, yc_test))
'공부 > A.I' 카테고리의 다른 글
Activation function(활성화 함수) (0) 2021.08.10 AdaBoost (0) 2021.08.07 배깅 (0) 2021.07.29 [앙상블 모델] GradientBoostingRegressor (0) 2021.07.17 [앙상블 모델] Random forest2 (0) 2021.06.27