시작하기무료로 시작하기

모델 선택

정규화와 교차 검증은 모델 선택에서 매우 강력한 도구예요. 정규화는 과적합을 막는 데 도움이 되고, 교차 검증은 모델이 올바르게 평가되도록 보장해요. 이 연습에서는 정규화와 교차 검증을 함께 사용해 모델 간에 유의미한 차이가 있는지 확인해 보겠습니다. 여기서는 정밀도만 계산하지만, 동일한 방식으로 재현율 및 다른 평가 지표에도 쉽게 적용할 수 있어요.

X_train, y_train, X_test, y_test가 작업 공간에 준비되어 있어요. pandaspd로, numpynp로, 그리고 sklearn도 사용할 수 있어요. sklearn.metricsprecision_score()recall_score(), 그리고 sklearn.model_selectionKFold()cross_val_score()를 모두 사용할 수 있어요.

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

Python으로 Machine Learning을 활용한 CTR 예측

강의 보기

연습 안내

  • n_splits를 사용해 4개 분할의 K-겹 교차 검증을 설정하고 k-fold에 할당하세요.
  • 결정 트리 분류기를 만드세요.
  • k_fold를 사용해 교차 검증을 실행하고, 지정된 max_depth 값에 대해 결정 트리 모델의 정밀도와 재현율을 평가하세요.

실습형 인터랙티브 연습

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

# Iterate over different levels of max depth and set up k-fold
for max_depth_val in [3, 5, 10]:
  k_fold = ____(____ = 4, random_state = 0, shuffle = True)
  clf = ____(____ = max_depth_val)
  print("Evaluating Decision Tree for max_depth = %s" %(max_depth_val))
  y_pred = clf.fit(____, ____).predict(____) 
  
  # Calculate precision for cross validation and test
  cv_precision = ____(
    ____, X_train, y_train, cv = k_fold, scoring = 'precision_weighted')
  precision = ____(y_test, y_pred, average = 'weighted')
  print("Cross validation Precision: %s" %(cv_precision))
  print("Test Precision: %s" %(precision))
코드 편집 및 실행