정규화(Regularization)
정규화는 과적합을 방지하기 위해 모델에 추가 정보를 더하는 과정이에요. 이는 이번 장 앞부분에서 본 평가 지표를 높이는 데 중요해요. 이 연습 문제에서는 결정 트리의 최대 깊이 매개변수(max depth)를 바꾸어가며 분류 결과가 어떻게 달라지는지 살펴보세요.
작업 공간에는 X_train, y_train, X_test, y_test가 준비되어 있어요. 또한 pandas는 pd, numpy는 np, 그리고 sklearn도 사용할 수 있어요. 추가로 sklearn.metrics의 confusion_matrix(), precision_score(), recall_score()를 사용할 수 있어요.
이 연습은 강의의 일부입니다
Python으로 Machine Learning을 활용한 CTR 예측
연습 안내
- 트리마다 최대 깊이를 달리하여 여러 결정 트리를 만들어 보세요.
- 각 트리에 대해 학습(fit)하고, 테스트 데이터에 대한 예측을 생성하세요.
- 각 트리에 대해 혼동 행렬, 정밀도(precision), 재현율(recall)을 평가하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
# Create and fit model
clf = ____(____ = max_depth_val)
print("Evaluating tree with max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Evaluate confusion matrix, precision, recall
print("Confusion matrix: ")
print(____(y_test, y_pred))
prec = ____(____, ____, average = 'weighted')
recall = ____(____, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))