ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ML AdaBoost(Adaptive Boosting)
    ML&DL&AI/ML 2023. 8. 16. 10:15
    728x90

    1. AdaBoost(Adaptive Boosting)

    • 랜덤포레스트처럼 의사 결정 트리 기반의 모델
    • 각각의 트리들이 독립적으로 존재 X

     

     

    - 동작 순서

    1. 첫번째 의사 결정 트리를 생성

    • 위쪽 빨간 원이 3개 있는 곳을 대충 분류
    • 2개의 빨간 원과 1개의 녹색 세모가 잘못 구분

     

    2. 잘못된 2개의 빨간 원과 1개의 녹색 세모에 높은 가중치를 부여,

    맞은것 (빨간 원 3개와 녹색 세모 4개)에는 낮은 가중치 부여

     

    3. 가중치를 부여한 상태에서 다시 분류 시킴

    • 잘못된 3개의 빨간 원에 높은 가중치를 부여하고 맞은 5개의 녹색 세모는 낮은 가중치를 부여

     

    4. 가중치를 부여한 상태에서 다시 분류 시킴

     

    5. 진행한 분류들을 결합

     

     

    2. 사용 방법

    • learning_rata : 학습률 0~1
      • 기본값 : 0.1
         
    • n_estimators : 트리 개수 기본 50
    • random_state
    • max_depth
    from sklearn.ensemble import AdaBoostClassifier

     

    - 주요 매개 변수(hyperparameter)

    • 결정 트리 분류 모델의 개수
      • n_estimators
      • 사용할 결정 트리 분류 모델의 개수
    • 학습률
      • learning_rate
      • 가중치 갱신의 변동폭을 조정
      • 0과 1사이의 값
      • 기본 설정값 1.0
    • 선택할 데이터의 시드
      • random_state

     

     

     

    3. 실습

     

    1. 라이브러리 불러오기

    # 머쉬룸 중략 ~
    # 라이브러리 불러오기
    from sklearn.model_selection import cross_val_score
    from sklearn.ensemble import AdaBoostClassifier
    
    # 모델 생성
    ada_model = AdaBoostClassifier( n_estimators = 100,
                                    random_state=7,
                                    learning_rate=0.3)

     

    2. 교차 검증

    # 교차검증 - 일반화 성능평가
    rs = cross_val_score(ada_model, X_train,y_train, cv=5)
    print(rs)
    [0.97802198 0.97802198 0.96703297 0.98901099 0.92307692]

     

    3. 모델 학습

    # 모델 학습
    ada_model.fit(X_train,y_train)

     

    4.예측 및 정확도 확인

    # 예측 및 정확도 확인
    ada_pre = ada_model.predict(X_test)
    ada_score = accuracy_score(y_test, ada_pre) # 실제값, 예측값
    print('Ada 분류모델의 예측 결과는 {0:0.2f}% 입니다'.format(ada_score*100))
    Ada 분류모델의 예측 결과는 97.37% 입니다
    728x90

    'ML&DL&AI > ML' 카테고리의 다른 글

    ML 데이터 스케일링  (0) 2023.08.30
    ML 모델 성능 평가(K-fold cross-validation, GridSearchCV)  (0) 2023.08.21
    앙상블(Ensemble) 모델  (0) 2023.08.16
    ML Decision Tree  (0) 2023.08.14
    KNN 실습 - 붓꽃(iris) 품종 구분하기  (0) 2023.08.09
Designed by Tistory.