과적합과 과소적합
모델 복잡도를 해석하는 것은 지도 학습 성능을 평가하는 좋은 방법입니다. 여러분의 목표는 특징과 타깃 변수 간의 관계를 해석할 수 있을 뿐만 아니라, 새로운 관측값에 노출되었을 때도 잘 일반화되는 모델을 만드는 것입니다.
학습 및 테스트 세트는 churn_df 데이터 세트에서 생성되었으며 X_train, X_test, y_train, y_test로 미리 로드되었습니다.
또한, 여러분을 위해 KNeighborsClassifier가 미리 import 되었고, numpy는 np로 import 되었습니다.
이 연습은 강의의 일부입니다
scikit-learn으로 배우는 지도 학습
연습 안내
1부터12까지의 값을 포함하는numpy배열로neighbors를 만드세요.- 이웃 수를
neighbor반복자와 같게 설정한KNeighborsClassifier를 인스턴스화하세요. - 모델을 학습 데이터에 학습시키세요.
.score()메서드를 사용하여 학습 세트와 테스트 세트에 대한 정확도 점수를 각각 계산하고,neighbor반복자를 인덱스로 활용하여 결과를 각각train_accuracies와test_accuracies딕셔너리에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create neighbors
neighbors = np.arange(____, ____)
train_accuracies = {}
test_accuracies = {}
for neighbor in neighbors:
# Set up a KNN Classifier
knn = ____(____=____)
# Fit the model
knn.____(____, ____)
# Compute accuracy
train_accuracies[____] = knn.____(____, ____)
test_accuracies[____] = knn.____(____, ____)
print(neighbors, '\n', train_accuracies, '\n', test_accuracies)