선택한 특성 개수는 n_features_to_select_ 속성에 저장되어 있습니다. support_ 속성을 사용하여 선택한 특성의 이름을 확인해 보겠습니다.
>>> print(sfs.n_features_to_select_)
7
>>> f_mask = sfs.support_
>>> df_wine.columns[1:][f_mask]
Index(['Alcohol', 'Ash', 'Magnesium', 'Flavanoids', 'Color intensity', 'Hue', 'Proline'], dtype='object')
앞서 직접 구현한 SBS 클래스에서 선택한 특성과 겹치는 것은 Alcohol뿐입니다. 선택한 일곱 개의 특성으로 훈련 데이터셋과 테스트 데이터셋의 정확도를 사용해 보겠습니다.
>>> knn.fit(X_train_std[:, f_mask], y_train)
>>> print(' 훈련 정확도:', knn.score(X_train_std[:, f_mask], y_train))
훈련 정확도: 0.9838709677419355
>>> print(' 테스트 정확도:', knn.score(X_test_std[:, f_mask], y_test))
테스트 정확도: 0.9814814814814815