시작하기무료로 시작하기

정확도 측정

이제 XGBoost의 내장 교차 검증 기능을 통해 학습 API를 사용하는 연습을 해 보겠습니다. 이전 영상에서 Sergey가 설명했듯이, XGBoost는 DMatrix라는 자체 최적화된 데이터 구조를 사용해 뛰어난 성능과 효율을 얻습니다.

이전 연습 문제에서는 입력 데이터셋이 실행 중에 DMatrix로 변환되었지만, xgboostcv 객체를 사용할 때는 먼저 데이터를 명시적으로 DMatrix로 변환해야 합니다. 따라서 여기서는 교차 검증을 churn_data에 수행하기 전에 이 작업을 진행하겠습니다.

이 연습은 강의의 일부입니다

XGBoost로 익히는 Extreme Gradient Boosting

강의 보기

연습 안내

  • xgb.DMatrix()를 사용해 churn_data로부터 churn_dmatrix라는 DMatrix를 만드세요. 특성은 X에, 라벨은 y에 있습니다.
  • xgb.cv()를 호출해 3-폴드 교차 검증을 수행하세요. dtrain에는 churn_dmatrix, params에는 파라미터 딕셔너리, nfold에는 교차 검증 폴드 수(3), num_boost_round에는 학습할 트리 수(5), metrics에는 계산할 평가지표를 지정합니다(여기서는 "error"이며, 이를 정확도로 변환할 것입니다).

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]

# Create the DMatrix from X and y: churn_dmatrix
churn_dmatrix = ____(data=____, label=____)

# Create the parameter dictionary: params
params = {"objective":"reg:logistic", "max_depth":3}

# Perform cross-validation: cv_results
cv_results = ____(dtrain=____, params=____, 
                  nfold=____, num_boost_round=____, 
                  metrics="____", as_pandas=____, seed=123)

# Print cv_results
print(cv_results)

# Print the accuracy
print(((1-cv_results["test-error-mean"]).iloc[-1]))
코드 편집 및 실행