사이킷런 라이브러리는 metrics 모듈 아래에 다양한 성능 지표를 구현해 놓았습니다. 예를 들어 테스트 데이터셋에서 퍼셉트론의 분류 정확도는 다음과 같이 계산합니다.
>>> from sklearn.metrics import accuracy_score
>>> print('정확도: %.3f' % accuracy_score(y_test, y_pred))
정확도: 0.978
y_test는 진짜 클래스 레이블이고 y_pred는 앞서 예측한 클래스 레이블입니다. 사이킷런의 분류기(classifier)는 분류기의 예측 정확도를 계산하는 score 메서드를 가지고 있습니다. 이 메서드는 predict 메서드와 accuracy_score 메서드를 연결하여 정확도를 계산합니다.
>>> print('정확도: %.3f' % ppn.score(X_test_std, y_test))
정확도: 0.978
Note ≡ 과대적합
이 장에서는 테스트 데이터셋을 기반으로 모델 성능을 평가합니다. 6장에서 과대적합(overfitting)을 감지하고 방지하기 위해 학습 곡선과 같은 그래프 분석을 포함하여 다양한 기법을 배울 것입니다. 이 장에서 나중에 다시 보겠지만 과대적합이란 훈련 데이터에 있는 패턴은 감지하지만 본 적 없는 데이터에 일반화되지 못하는 것을 의미합니다.