-
ML AdaBoost(Adaptive Boosting)ML&DL&AI/ML 2023. 8. 16. 10:15728x90
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
- 기본값 : 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