R-Blogger블로그·해설한국어2025-05-23
Xgboost
문제 설명 JavaScript가 필요합니다. JavaScript를 사용하도록 설정하고 페이지를 새로고침하거나, GitHub에서 소스 파일을 다운로드하여 로컬에서 코드를 실행하십시오. 목표 이 연습 시트의 목표는 XGBoost를 적용하고 활용하는 방법을 이해하는 것입니다. XGBoost 알고리즘은 많은 하이퍼파라미터를 가지고 있으며, 우리는 특히 이 하이퍼파라미터를 튜닝하여 현재 과제에 최적화된 XGBoost 모델을 만들고자 합니다. 독일 신용 데이터셋 이전 연습과 마찬가지로, 1994년 Hamburg 대학의 Prof. Dr. Hans Hoffman이 만든 독일 신용 데이터셋을 사용합니다. XGBoost를 통해 20개의 개인, 인구통계, 재무 특성을 기반으로 사람을 좋은(“good”) 또는 나쁜(“bad”) 신용 위험으로 분류하고자 합니다. 이 데이터셋은 UCI 저장소의 Statlog (German Credit Data) Data Set에서 제공됩니다. 전처리 XGBoost 알고리즘을 신용 데이터셋에 적용하려면 범주형 특성을 숫자형 특성으로 변환해야 합니다. 예를 들어, one-hot 인코딩을 사용합니다. 우리는 mlr3pipelines의 factor encoding PipeOp를 사용합니다. library(mlr3verse) task = tsk("german_credit") task$positive = "good" # factor encoding poe = po("encode") task = poe$train(list(task))[[1]] XGBoost Learner 1.1 - 초기화 100번의 이터레이션으로 XGBoost mlr3 learner를 초기화하십시오. xgboost R 패키지가 설치되어 있어야 합니다. Iterations는 사용자에 의해 선택되어야 하며, mlr3에서는 기본값이 1번이지만 이는 대부분의 경우 적절하지 않습니다. 100번은 이터레이션 수의 상한선으로 선택되었습니다. 힌트 1: classif.xgboost learner의 nrounds 하이퍼파라미터로 100을 지정합니다. 힌트 2: xgboost_lrn = lrn(..., nrounds = ...) XGBoost Learner 1.2 - 성능 평가 (교차 검증) 5겹 교차 검증을 사용하여 100번의 부스팅 이터레이션을 갖는 XGBoost learner의 일반화 오차를 추정하십시오. 분류 오류를 사용해 성능을 측정합니다. 시드 설정은 결과 재현성을 위해 set.seed(8002L)를 사용합니다. Resampling 객체를 rsmp()로 지정합니다. 위 객체와 task, learner를 resample() 메서드에 입력합니다. 결과 ResampleResult 객체의 $aggregate() 메서드로 성능을 측정합니다. 예시 코드: set.seed(8002L) resampling = rsmp("cv", folds = 5) rr = resample(task = task, learner = xgboost_lrn, resampling = resampling) rr$aggregate() Hyperparameters 2.1 - 하이퍼파라미터 개요 이터레이션 수(nrounds)를 제외한 XGBoost learner의 다른 하이퍼파라미터를 기본값으로 유지하고, 초기화된 learner에서 모든 하이퍼파라미터와 기본값을 추출합니다. 추출한 목록과 ?xgboost 도움말 페이지를 참고해 다음 질문에 답하십시오. 기본적으로 learner는 트리형 부스터인가, 아니면 선형 부스터인가? 트리형 부스터와 선형 부스터 중에서 더 많은 하이퍼파라미터가 존재하는가? max
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
- 작성자
- R-Blogger
- 출처
- R-Blogger
- 플랫폼
- R-Blogger
- 분류
- 블로그·해설
- 언어
- 한국어
- 발행일
- 2025-05-23