XGBoost 파라미터 설명_kaggle 번역 및 정리
기본값: 1
기본값: OS 설정값, 없다면 가용한 최대한의 스레드 수
disable_default_eval_metric[기본값 0], num_pbuffer[자동설정값], num_feature[자동설정값] 과 같은 여러 전역 파라미터들이 있다. 하지만, 이는 대부분 XGBoost가 자동으로 설정해주니 더이상 논의하지 않는다.
기본값 0.3, learning_rate와 같은 의미의 파라미터
기본값 0, min_split_loss와 비슷함
기본값 6, GBM에서와 같이 tree 깊이의 최댓값을 나타낸다
기본값 1, 자식노드에 필요한 모든 노드 가중치의 최소 합을 지정.
기본값 0,
기본값 1, 각 트리에서 임의로 샘플을 추출하기 위한 관측치의 비율을 나타낸다.
기본값: 1, 열(colums)의 subsampling을 하기 위한 파라미터 모음
모든 colsample_by 파라미터는 (0,1] 값을 가질 수 있고, 1의 기본값을 가지며, subsampling될 열의 비율을 결정한다.
colsample_bytree 는 각 트리가 생성될 때 이에 대해 subsampling할 열의 비율을 나타낸다. subsampling은 트리가 생성될 때 한번 수행된다.
colsample_bylevel 은 각 레벨에서 열의 하위표본 비율이다. subsampling은 트리에서 새로운 깊이 단계에 도달했을때마다 발생한다.
colsample_bynode 는 각 노드에서 열을 subsampling하는 비율이다. subsampling은 분할이 일어날때마다 발생한다.
각각 현재 트리,레벨,노드에 선택된 열 집합을 subsampling한다
각 파라미터는 누산되는 방식으로 동작하며, 각각을 0.5로 지정한 상태에서 64개의 특징을 부여하면, 각 분할에서 8개의 특징만이 남게된다.
파라미터 lambda와 alpha는 정규화항에 대한 파라미터이므로, 정규화에 관한 이해가 필수적이다.
https://ratsgo.github.io/machine%20learning/2017/05/22/RLR/ 를 통해 간단하게 정규화를 이해해보자.
기본값 1, 가중치에 대한 L2정규화 항( Ridge regression과 유사함)
기본값 0, 가중치에 대한 L1 정규화 항 (Lasso regression과 유사함)
기본값 auto(문자열), XGBoost에서 사용할 트리 생성 알고리즘.
기본값 1, 양과 음의 가중치 값의 균형을 조절한다
기본값 0, 추가하는 노드의 최댓값
sketch_eps,updater, refresh_leaf, process_type, grow_policy, max_bin, predictor and num_parallel_tree 와 같은 다른 파라미터들이 있지만, XGBoost 공식문서(파라미터 설명)을 참고하자.
objective, 기본값: "reg:squerederror, 손실함수가 최소화해야하는 함수를 정의한다.
eval_metric, 목적함수에 따라 기본값이 정해짐.
seed, 기본값 0.