
68
파이썬 라이브러리를 활용한 머신러닝(번역개정판)
for n_neighbors in neighbors_settings:
# 모델 생성
clf = KNeighborsClassier(n_neighbors=n_neighbors)
clf.t(X_train, y_train)
# 훈련 세트 정확도 저장
training_accuracy.append(clf.score(X_train, y_train))
# 일반화 정확도 저장
test_accuracy.append(clf.score(X_test, y_test))
plt.plot(neighbors_settings, training_accuracy, label="훈련 정확도")
plt.plot(neighbors_settings, test_accuracy, label="테스트 정확도")
plt.ylabel("정확도")
plt.xlabel("n_neighbors")
plt.legend()
그림
2-7
n
_
neighbors
변화에 따른 훈련 정확도와 테스트 정확도
이 그림은
n
_
neighbors
수(
x
축)에 따른 훈련 세트와 테스트 세트 정확도 (
y
축)를 보여줍니
다. 실제 이런 그래프는 매끈하게 나오지 않지만, 여기서도 과대적합과 과소적합의 특징을 볼
수 있습니다(이웃의 수가 적을수록 모델이 복잡해지므로 [그림
2