이 코드는 sbs.subsets_ 속성의 11번째 위치에 있는 세 개의 특성에 대한 열 인덱스를 얻습니다.17 이 열 인덱스로부터 판다스 Wine DataFrame의 특성 이름을 출력합니다.
이제 원래 테스트 데이터셋에서 KNN 분류기의 성능을 평가해 보죠.
>>> knn.fit(X_train_std, y_train)
>>> print('훈련 정확도:', knn.score(X_train_std, y_train))
훈련 정확도: 0.967741935483871
>>> print('테스트 정확도:', knn.score(X_test_std, y_test))
테스트 정확도: 0.9629629629629629
전체 특성 조합을 사용하여 훈련 데이터셋에서 약 97% 정확도와 테스트 데이터셋에서 약 96% 정확도를 얻었습니다. 새로운 데이터에도 잘 일반화될 것으로 보입니다. 이제 선택된 세 개의 특성에서 KNN 성능이 얼마나 되는지 확인해 보죠.
>>> knn.fit(X_train_std[:, k3], y_train)
>>> print('훈련 정확도:', knn.score(X_train_std[:, k3], y_train))
훈련 정확도: 0.9516129032258065
>>> print('테스트 정확도:', knn.score(X_test_std[:, k3], y_test))
테스트 정확도: 0.9259259259259259