XGBoost 하이퍼파라미터 - 아마존 SageMaker

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

XGBoost 하이퍼파라미터

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

파라미터 이름 설명
num_class

클래스의 수.

필수, objective가 multi:softmax 또는 multi:softprob으로 설정된 경우.

유효한 값: 정수.

num_round

훈련을 실행할 라운드의 수.

필수

유효한 값: 정수.

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

deterministic_histogram

이 플래그가 활성화되면 XGBoost는 GPU에 결정적으로 히스토그램을 작성합니다. tree_methodgpu_hist로 설정된 경우에만 사용됩니다.

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

선택 사항

유효한 값: 문자열. 범위: "true" 또는 "false".

기본 값: "true"

early_stopping_rounds

모델은 검증 점수가 증가하지 않을 때까지 훈련합니다. 학습을 계속하려면 검증 오류를 최소한 한 번씩 줄여야 합니다. early_stopping_rounds SageMaker호스팅은 추론에 가장 적합한 모델을 사용합니다.

선택 사항

유효한 값: 정수.

기본값: -

eta

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

선택 사항

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

기본 값: 0.3

eval_metric

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

  • rmse: 회귀의 경우

  • error: 분류의 경우

  • map: 순위 결정의 경우

유효한 입력의 목록은 XGBoost 학습 작업 파라미터 섹션을 참조하세요.

선택 사항

유효한 값: 문자열.

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

gamma

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

선택 사항

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

기본값: 0

grow_policy

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

선택 사항

유효한 값: 문자열. "depthwise" 또는 "lossguide"입니다.

기본 값: "depthwise"

interaction_constraints

상호 작용이 허용되는 변수 그룹을 지정하세요.

선택 사항

유효한 값: 중첩된 정수 목록. 각 정수는 하나의 기능을 나타내며, 각 중첩 목록에는 상호 작용이 허용되는 기능(예: [[1,2], [3,4,5]])이 포함됩니다.

기본값: 없음

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

monotone_constraints

모든 기능에 대한 단조성 제약 조건을 지정합니다.

선택 사항

유효한 값: 정수 튜플. 유효한 정수: -1(감소 제약), 0(제약 없음), 1 (증가 제약).

예: (0, 1): 첫 번째 예측기에는 제약이 없고 두 번째 예측기에는 증가 제약이 있습니다. (-1, 1): 첫 번째 예측기에는 감소 제약이 있고, 두 번째 예측기에는 증가 제약이 있습니다.

기본값: (0, 0)

normalize_type

정규화 알고리즘의 유형.

선택 사항

유효한 값: tree 또는 forest.

기본값: tree

nthread

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

선택 사항

유효한 값: 정수.

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

objective

학습 작업 및 해당 학습 목표를 지정합니다. 예: reg:logistic, multi:softmax, reg:squarederror. 유효한 입력의 전체 목록은 XGBoost 학습 작업 파라미터를 참조하세요.

선택 사항

유효값: 문자열

기본 값: "reg:squarederror"

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

single_precision_histogram

이 플래그가 활성화되면 XGBoost는 배정밀도 대신 단정밀도를 사용하여 히스토그램을 작성합니다. tree_methodhist 또는 gpu_hist로 설정된 경우에만 사용됩니다.

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

선택 사항

유효한 값: 문자열. 범위: "true"또는 "false"

기본 값: "false"

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 또는 gpu_hist 중 하나.

기본 값: auto

tweedie_variance_power

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

선택 사항

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

기본값: 1.5

updater

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

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

선택 사항

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

기본값: grow_colmaker, prune

use_dask_gpu_training

Dask를 사용하여 분산 GPU 훈련을 실행하려는 경우 use_dask_gpu_training"true"로 설정하세요. Dask GPU 훈련은 버전 1.5-1 이상에서만 지원됩니다. 1.5-1 이전 버전에서는 이 값을 "true"로 설정하지 마세요. 자세한 정보는 분산 GPU 훈련을 참조하세요.

선택 사항

유효한 값: 문자열. 범위: "true"또는 "false"

기본 값: "false"

verbosity

자세한 인쇄 메시지.

유효한 값: 0(자동), 1(경고), 2(정보), 3(디버그).

선택 사항

기본값: 1