오답노트
[ML] Boosting - Gradient Boost 본문
Gradient Boost
Gradient Boost는 Boosting 기법에서 모델을 Dicision Tree를 사용하는 알고리즘이다.
xgboost
Gradient Boost를 모델링할 수 있는 라이브러리이다.
간단하게 불러오는 방법과 hyper parameter를 알아보자
from xgboost import XGBClassifier
model = XGBClassifier(n_estimators = 5,max_depth=3,learning_rate = 0.3)
pred = model.predict(x_val)
print(classification_report(y_val, pred))
'''
precision recall f1-score support
0 0.71 0.72 0.72 769
1 0.70 0.69 0.70 731
accuracy 0.71 1500
macro avg 0.71 0.71 0.71 1500
weighted avg 0.71 0.71 0.71 1500
'''
- n_estimators : 반복할 모델의 개수를 의미한다. 값이 커질 수록 복잡도가 커진다.
- learnig_rate : 각 모델의 예측값에 대한 비율을 설정할 수 있다.
- max_depth : 트리 모델의 크기를 정할 수 있다.
plot_tree
Gradient Boost에서 생성되는 트리 모델들을 시각화하여 볼 수 있다.
하지만 그전에 graphviz를 설치해야한다. 설치 방법은 검색 해보자.
설치 후 바로 코드를 실행하면 환경변수 관련 오류가 발생한다.
관련 파일을 다운로드 받아 해당 경로를 환경변수에 추가하자.
plot_tree(model, num_trees = 0)
plt.show()
- num_trees : 모델의 넘버를 입력하면 해당 모델을 시각화해서 보여준다. 0번부터 시작한다.
'Python > ML' 카테고리의 다른 글
[ML] 비지도 학습 - DBSCAN (0) | 2022.08.29 |
---|---|
[ML] 비지도 학습 - k-means (0) | 2022.08.26 |
[ML] 앙상블 - Boosting (0) | 2022.08.26 |
[ML] Bagging - Random Forest (0) | 2022.08.25 |
[ML] 앙상블 - Bagging (0) | 2022.08.25 |