

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# XGBoost 모델 튜닝
<a name="xgboost-tuning"></a>

자동 모델 튜닝, 하이퍼파라미터 튜닝이라고도 하며, 훈련과 검증 데이터 세트에 대한 광범위한 하이퍼파라미터를 테스트하는 여러 작업을 실행하여 최적의 모델 버전을 찾습니다.** 세 가지 유형의 하이퍼파라미터를 선택합니다.
+ 모델 훈련 중에 최적화하는 학습 `objective` 함수
+ 검증 중에 모델 성능을 평가하는 데 사용하는 `eval_metric`
+ 모델을 자동으로 튜닝할 때 사용하기 쉬운 하이퍼파라미터 세트와 일정한 범위의 값

알고리즘이 계산하는 평가 지표 집합에서 평가 지표를 선택합니다. 자동 모델 튜닝은 선택한 하이퍼파라미터를 검색하여 평가 지표를 최적화하는 모델을 만드는 값 조합을 찾습니다.

**참고**  
XGBoost 0.90의 자동 모델 튜닝은 SageMaker AI 콘솔이 아닌 Amazon SageMaker SDK에서만 사용할 수 있습니다.

모델 튜닝에 대한 추가 정보는 [SageMaker AI로 자동 모델 튜닝](automatic-model-tuning.md) 섹션을 참조하세요.

## XGBoost 알고리즘으로 계산되는 평가 지표
<a name="xgboost-metrics"></a>

XGBoost 알고리즘은 모델 검증에 사용할 다음 지표를 계산합니다. 모델을 튜닝할 때 모델을 평가하려면 이러한 지표 중 하나를 선택합니다. 유효한 `eval_metric` 값의 전체 목록은 [XGBoost 학습 작업 파라미터](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst#learning-task-parameters)를 참조하세요.


| 지표 이름 | 설명 | 최적화 방향 | 
| --- | --- | --- | 
| validation:accuracy | 분류 비율은 \#(오른쪽)/\#(모든 경우)로 계산됩니다. | 최대화 | 
| validation:auc | 곡선 아래 면적 | 최대화 | 
| validation:error | 바이너리 분류 오류율, 잘못된 케이스 수를 모든 케이스 수로 나눠 계산됩니다. | 최소화 | 
| validation:f1 | 분류 정확도의 지표로, 고조파 정밀도 및 리콜 평균으로 계산됩니다. | 최대화 | 
| validation:logloss | 네거티브 로그 가능도 | 최소화 | 
| validation:mae | 평균 절대 오차 | 최소화 | 
| validation:map | 평균 정밀도 | 최대화 | 
| validation:merror | 멀티클래스 분류 오류율, 잘못된 케이스 수를 모든 케이스 수로 나눠 계산됩니다. | 최소화 | 
| validation:mlogloss | 멀티클래스 분류를 위한 네거티브 로그 가능도 | 최소화 | 
| validation:mse | 평균 제곱 오차. | 최소화 | 
| validation:ndcg | 정규화된 할인 누적 이득 | 최대화 | 
| validation:rmse | 평균 제곱근 오차 | 최소화 | 

## 튜닝 가능한 XGBoost 하이퍼파라미터
<a name="xgboost-tunable-hyperparameters"></a>

다음 하이퍼파라미터를 사용하여 XGBoost 모델을 튜닝합니다. XGBoost 평가 지표를 최적화하는데 가장 큰 영향을 미치는 하이퍼파라미터는 `alpha`, `min_child_weight`, `subsample`, `eta` 및 `num_round`입니다.


| 파라미터 이름 | 파라미터 유형 | 권장 범위 | 
| --- | --- | --- | 
| alpha | ContinuousParameterRanges | MinValue: 0, MaxValue: 1000 | 
| colsample\_bylevel | ContinuousParameterRanges | MinValue: 0.1, MaxValue: 1 | 
| colsample\_bynode | ContinuousParameterRanges | MinValue: 0.1, MaxValue: 1 | 
| colsample\_bytree | ContinuousParameterRanges | MinValue: 0.5, MaxValue: 1 | 
| eta | ContinuousParameterRanges | MinValue: 0.1, MaxValue: 0.5 | 
| gamma | ContinuousParameterRanges | MinValue: 0, MaxValue: 5 | 
| lambda | ContinuousParameterRanges | MinValue: 0, MaxValue: 1000 | 
| max\_delta\_step | IntegerParameterRanges | [0, 10] | 
| max\_depth | IntegerParameterRanges | [0, 10] | 
| min\_child\_weight | ContinuousParameterRanges | MinValue: 0, MaxValue: 120 | 
| num\_round | IntegerParameterRanges | [1, 4000] | 
| subsample | ContinuousParameterRanges | MinValue: 0.5, MaxValue: 1 | 