Amazon SageMaker
개발자 안내서

XGBoost 하이퍼파라미터

다음 표에는 Amazon SageMaker XGBoost 알고리즘에 필요하거나 가장 일반적으로 사용되는 하이퍼파라미터 하위 세트가 포함되어 있습니다. 이들은 사용자가 데이터로부터 모델 파라미터의 예측을 촉진하기 위해 설정하는 파라미터입니다. 먼저 반드시 설정해야 하는 필수 하이퍼파라미터가 알파벳 순으로 나열되어 있습니다. 그 다음에 설정할 수 있는 선택적 하이퍼파라미터가 알파벳 순으로 나열되어 있습니다. Amazon SageMaker XGBoost 알고리즘은 DLMC XGBoost 패키지의 오픈 소스 구현입니다. 현재 Amazon SageMaker은 버전 0.90을 지원합니다. 이 버전의 XGBoost에 대해 구성할 수 있는 전체 하이퍼파라미터 집합에 대한 자세한 내용은 XGBoost 매개 변수를 참조하십시오.

파라미터 이름 설명
num_round

교육을 실행할 라운드의 수.

필수

유효한 값: 정수

num_class

클래스의 수.

objectivemulti:softmax 또는 multi:softprob로 설정된 경우 필수

유효한 값: 정수

기본값:

alpha

가중치의 L1 정규화 항. 이 값이 증가하면 더욱 보수적인 모델이 됩니다.

선택

유효한 값: 부동 소수점

기본값: 0

base_score

모든 인스턴스의 초기 예측 점수, 전역 편향.

선택

유효한 값: 부동 소수점

기본값: 0.5

booster

사용할 부스터. gbtreedart 값은 트리 기반 모델을 사용하는 반면 gblinear는 선형 함수를 사용합니다.

선택

유효한 값: 문자열. gbtree, gblinear 또는 dart.

기본값: gbtree

colsample_bylevel

각 수준의 각 분할에 대한 열의 하위 샘플 비율.

선택

유효한 값: 부동 소수점. 범위: [0,1].

기본값: 1

colsample_bynode

각 노드에서 열의 서브 샘플링 비율.

선택

유효한 값: 부동 소수점. 범위: [0,1].

기본값: 1

colsample_bytree

각 트리 생성 시 열의 하위 샘플 비율.

선택

유효한 값: 부동 소수점. 범위: [0,1].

기본값: 1

csv_weights

이 플래그가 활성화되면 XGBoost는 훈련 데이터의 두 번째 열(레이블 다음 열)을 인스턴스 가중치로 가져와 csv 입력에 대한 인스턴스 중요도를 구분합니다.

선택

유효한 값: 0 또는 1

기본값: 0

early_stopping_rounds

모델은 검증 점수가 증가하지 않을 때까지 훈련합니다. 훈련을 계속하기 위해서는 모든 early_stopping_rounds마다 검증 오류가 줄어야 합니다. Amazon SageMaker 호스팅은 추론에 최적의 모델을 사용합니다.

선택

유효한 값: 정수

기본값: -

eta

과적합 방지 업데이트에 사용되는 단계 크기 축소입니다. 각 부스팅 단계 이후 직접 새 특징의 가중치를 직접 가져옵니다. eta 파라미터는 실제로 특징 가중치를 축소하여 부스팅 프로세스를 더욱 보수적으로 만듭니다.

선택

유효한 값: 부동 소수점. 범위: [0,1].

기본값: 0.3

eval_metric

검증 데이터에 대한 평가 지표. 기본 지표는 목표에 따라 할당됩니다.

  • rmse: 회귀의 경우

  • error: 분류의 경우

  • map: 순위 결정의 경우

유효한 입력의 목록은 XGBoost 파라미터를 참조하십시오.

선택

유효한 값: 문자열

기본값: 목표에 따른 기본값.

gamma

트리의 리프 노드에 추가 파티션을 생성하는 데 필요한 최소 손실 감소. 값이 클수록 알고리즘이 더욱 보수적입니다.

선택

유효한 값: 부동 소수점. 범위: [0,∞).

기본값: 0

grow_policy

트리에 새 노드가 추가되는 방법을 제어합니다. 현재는 tree_methodhist로 설정된 경우에만 지원됩니다.

선택

유효한 값: 문자열. depthwise 또는 lossguide.

기본값: depthwise

lambda

가중치의 L2 정규화 항. 이 값이 증가하면 더욱 보수적인 모델이 됩니다.

선택

유효한 값: 부동 소수점

기본값: 1

lambda_bias

편향의 L2 정규화 항.

선택

유효한 값: 부동 소수점. 범위: [0.0, 1.0].

기본값: 0

max_bin

버킷 지속 특징에 대한 별도 빈의 최대 수. tree_methodhist로 설정된 경우에만 사용됩니다.

선택

유효한 값: 정수

기본값: 256

max_delta_step

각 트리의 가중치 추정에 허용되는 최대 델타 단계. 양수가 사용될 경우 업데이트가 더욱 보수적인 데 도움이 됩니다. 선호 옵션은 로지스틱 회귀에서 사용하는 것입니다. 1~10으로 설정하는 경우 업데이트 제어에 도움이 됩니다.

선택

유효한 값: 정수. 범위: [0,∞).

기본값: 0

max_depth

트리의 최대 깊이. 이 값이 증가하면 모델이 더욱 복잡해지고 과적합의 가능성이 높습니다. 0은 제한 없음을 나타냅니다. grow_policy=depth-wise의 경우 제한이 필요합니다.

선택

유효한 값: 정수. 범위: [0,∞)

기본값: 6

max_leaves

추가할 최대 노드 수. grow_policylossguide로 설정된 경우에만 관련이 있습니다.

선택

유효한 값: 정수

기본값: 0

min_child_weight

하위에 필요한 인스턴스 가중치(헤시안)의 최소 합. 트리 파티션 단계로 리프 노드의 인스턴스 가중치 합이 min_child_weight보다 작은 경우 빌드 프로세스는 추가 파티셔닝을 포기합니다. 선형 회귀 모델에서 이는 각 노드에 필요한 최소 인스턴스 수를 반영합니다. 값이 클수록 알고리즘이 더욱 보수적입니다.

선택

유효한 값: 부동 소수점. 범위: [0,∞).

기본값: 1

normalize_type

정규화 알고리즘의 유형.

선택

유효한 값: tree 또는 forest.

기본값: tree

nthread

xgboost 실행에 사용되는 병렬 스레드의 수.

선택

유효한 값: 정수

기본값: 스레드의 최대 수.

objective

학습 작업 및 해당 학습 목표를 지정합니다. 예: reg:linear, reg:logistic, multi:softmax. 유효한 입력의 전체 목록은 XGBoost Parameters를 참조하십시오.

선택

유효한 값: 문자열

기본값: reg:linear

one_drop

이 플래그가 활성화될 때 최소 1개의 트리가 드롭아웃 도중 항상 드롭됩니다.

선택

유효한 값: 0 또는 1

기본값: 0

process_type

실행하는 부스팅 프로세스 유형.

선택

유효한 값: 문자열. default 또는 update.

기본값: default

rate_drop

드롭아웃 동안 드롭하는 이전 트리의 조각을 지정하는 드롭아웃 비율

선택

유효한 값: 부동 소수점. 범위: [0.0, 1.0].

기본값: 0.0

refresh_leaf

'refresh' 업데이터 플러그인의 파라미터. true(1)로 설정되면 트리 리프 및 트리 노드 통계가 업데이트됩니다. false(0)로 설정되면 트리 노드 통계만 업데이트됩니다.

선택

유효한 값: 0/1

기본값: 1

sample_type

샘플링 알고리즘의 유형.

선택

유효한 값: uniform 또는 weighted.

기본값: uniform

scale_pos_weight

양수 및 음수 가중치의 균형을 제어합니다. 불균형 클래스에 유용합니다. 고려할 유효한 값: sum(negative cases) / sum(positive cases).

선택

유효한 값: 부동 소수점

기본값: 1

seed

난수 시드.

선택

유효한 값: 정수

기본값: 0

silent

0은 실행 메시지 출력, 1은 자동 모드를 의미합니다.

유효한 값: 0 또는 1

선택

기본값: 0

sketch_eps

대략적인 그리디 알고리즘에 대해서만 사용됩니다. 이는 O(1 / sketch_eps) 빈의 수로 전환됩니다. 직접 선택한 빈의 수와 비교하여 대략적인 정확성을 통해 이론적 보장이 담보됩니다.

선택

유효한 값: 부동 소수점, 범위: [0, 1].

기본값: 0.03

skip_drop

부스팅 반복 도중 드롭아웃 과정을 건너뛸 확률.

선택

유효한 값: 부동 소수점. 범위: [0.0, 1.0].

기본값: 0.0

subsample

교육 인스턴스의 하위 샘플 비율. 0.5로 설정한 경우 XGBoost가 데이터 인스턴스 절반을 무작위로 수집하여 트리를 확장함을 나타냅니다. 이는 과적합을 방지합니다.

선택

유효한 값: 부동 소수점. 범위: [0,1].

기본값: 1

tree_method

XGBoost에서 사용되는 트리 생성 알고리즘.

선택

유효한 값: auto, exact, approx 또는 hist 중 하나

기본값: auto

tweedie_variance_power

Tweedie 분포의 분산을 제어하는 파라미터.

선택

유효한 값: 부동 소수점. 범위: (1, 2).

기본값: 1.5

updater

트리 업데이터의 실행 순서를 정의하는 쉼표로 구분된 문자열. 트리의 생성 및 수정을 위한 모듈형 방식을 제공합니다.

유효한 입력의 전체 목록은 XGBoost 파라미터를 참조하십시오.

선택

유효한 값: 쉼표로 구분된 문자열.

기본값: grow_colmaker, prune