ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엑스트라 트리
    공부/A.I 2021. 7. 29. 20:41

    엑스트라 트리. 

     

      - 후보 특성을 무작위로 분할한 다음 최적의 분할을 찾는다.

      - 랜덤포레스트의 경우 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' 카테고리의 다른 글

    AdaBoost  (0) 2021.08.07
    배깅  (0) 2021.07.29
    [앙상블 모델] GradientBoostingRegressor  (0) 2021.07.17
Designed by Tistory.