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

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

CatBoost 하이퍼파라미터

다음 표에는 Amazon SageMaker CatBoost 알고리즘에 필요하거나 가장 일반적으로 사용되는 하이퍼파라미터의 하위 집합이 나와 있습니다. 이들은 사용자가 데이터를 통해 모델 파라미터를 쉽게 예측하기 위해 설정하는 파라미터입니다. SageMaker CatBoost 알고리즘은 오픈 소스 CatBoost패키지를 구현한 것입니다.

참고

기본 하이퍼파라미터는 CatBoost 샘플 노트북의 예제 데이터 세트를 기준으로 정해집니다.

기본적으로 SageMaker CatBoost 알고리즘은 분류 문제 유형에 따라 평가 지표와 손실 함수를 자동으로 선택합니다. CatBoost 알고리즘은 데이터의 레이블 수를 기반으로 분류 문제의 유형을 탐지합니다. 회귀 문제의 경우 평가 지표와 손실 함수는 모두 평균 제곱근 오차입니다. 바이너리 분류 문제의 경우 평가 지표는 곡선 아래 면적(AUC)이고 손실 함수는 로그 손실입니다. 멀티클래스 분류 문제의 경우 평가 지표 및 손실 함수는 멀티클래스 교차 엔트로피입니다. eval_metric 하이퍼파라미터를 사용하여 기본 평가 지표를 변경할 수 있습니다. 설명, 유효한 값, 기본값을 포함하여 LightGBM 하이퍼파라미터에 대한 자세한 내용은 다음 표를 참조하세요.

파라미터 이름 설명
iterations

빌드할 수 있는 최대 트리 수입니다.

유효한 값: 정수, 범위: 양의 정수.

기본값: 500.

early_stopping_rounds

마지막 early_stopping_rounds 라운드에서 한 검증 데이터 요소 중 하나의 지표가 개선되지 않으면 훈련이 중지됩니다. early_stopping_rounds가 0보다 작거나 같으면 이 하이퍼파라미터는 무시됩니다.

유효한 값: 정수.

기본값: 5.

eval_metric

검증 데이터에 대한 평가 지표. eval_metric을 디폴트 "auto" 값으로 설정하면 알고리즘이 분류 문제의 유형에 따라 평가 지표를 자동으로 선택합니다.

  • 회귀에 대한 "RMSE"

  • 바이너리 분류에 대한 "AUC"

  • 멀티클래스 분류에 대한 "MultiClass"

유효한 값: 문자열, 유효한 값은 CatBoost 설명서를 참조하십시오.

기본값: "auto".

learning_rate

각 훈련 예제 배치를 살펴본 후 모델 가중치가 업데이트되는 비율입니다.

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

기본값: 0.009.

depth

트리의 깊이.

유효한 값: 정수, 범위: (1, 16).

기본값: 6.

l2_leaf_reg

비용 함수의 L2 정규화 항에 대한 계수.

유효한 값: 정수, 범위: 양의 정수.

기본값: 3.

random_strength

점수를 매기는 데 사용할 무작위성의 양은 트리 구조를 선택할 때 분할됩니다. 이 파라미터를 사용하면 모델이 과적합되지 않도록 할 수 있습니다.

유효한 값: 부동 소수, 범위: 양의 부동 소수점 수

기본값: 1.0.

max_leaves

결과 트리의 최대 잎 수입니다. "Lossguide" 성장 정책에만 사용할 수 있습니다.

유효한 값: 정수, 범위: [2, 64].

기본값: 31.

rsm

무작위 부분 공간 매서드. 기능을 무작위로 다시 선택한 경우 각 분할 선택에서 사용할 기능의 백분율.

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

기본값: 1.0.

sampling_frequency

트리를 빌드할 때 가중치와 객체를 샘플링하는 빈도.

유효한 값: 문자열, 둘 중 하나: ("PerTreeLevel" 또는 "PerTree").

기본값: "PerTreeLevel".

min_data_in_leaf

리프에 있는 훈련 샘플의 최소 개수. CatBoost 샘플 수가 지정된 값보다 적은 리프에서 새 분할을 검색하지 않습니다. "Lossguide""Depthwise" 성장 정책에만 사용할 수 있습니다.

유효한 값: 정수, 범위: (1 또는 ).

기본값: 1.

bagging_temperature

베이지안 부트스트랩의 설정을 정의합니다. 베이지안 부트스트랩을 사용하여 객체에 임의의 가중치를 할당할 수 있습니다. bagging_temperature1.0로 설정하면 지수 분포에서 가중치를 샘플링합니다. bagging_temperature0.0로 설정하면 모든 가중치는 1.0입니다.

유효한 값: 부동 소수, 범위: 음수가 아닌 부동 소수.

기본값: 1.0.

boosting_type

부스팅 체계. ‘자동’은 boosting_type이 처리 장치 유형, 훈련 데이터 세트의 개체 수, 선택한 학습 모드를 기반으로 선택됨을 의미합니다.

유효한 값: 문자열, 다음 중 하나: ("Auto", "Ordered", "Plain").

기본값: "Auto".

scale_pos_weight

바이너리 분류에서 양의 클래스에 대한 가중치. 이 값은 양의 클래스의 객체 가중치를 곱한 값으로 사용됩니다.

유효한 값: 부동 소수, 범위: 양의 부동 소수.

기본값: 1.0.

max_bin

수치적 특징의 분할 횟수. "Auto"이란 max_bin가 처리 중인 장치 유형 및 기타 파라미터를 기반으로 선택됨을 의미합니다. 자세한 내용은 CatBoost 설명서를 참조하십시오.

유효한 값: 문자열, 둘 중 하나 ("Auto" 또는 "1" ~ "65535"까지의 정수 문자열).

기본값: "Auto".

grow_policy

트리 성장 정책. 거대한 트리 빌드 방법을 정의합니다.

유효한 값: 문자열, 다음 중 하나: ("SymmetricTree", "Depthwise" 또는 "Lossguide").

기본값: "SymmetricTree".

random_seed

훈련에 사용되는 무작위 시드.

유효한 값: 정수, 범위: 음수가 아닌 정수.

기본값: 1.0.

thread_count

훈련 중에 사용할 스레드 수입니다. thread_count-1인 경우 스레드 수는 프로세서 코어 수와 같습니다. thread_count0일 수 없습니다.

유효한 값: 정수, 둘 중 하나 (-1 또는 양의 정수).

기본값: -1.

verbose

인쇄 메시지의 상세 내용. 레벨이 높을수록 인쇄 명세서가 더 상세해집니다.

유효한 값: 정수, 범위: 양의 정수.

기본값: 1.