더북(TheBook)

2장에서 했던 것처럼 적절한 학습률을 찾으려면 어느 정도 실험이 필요합니다. 학습률이 너무 크면 알고리즘은 전역 최솟값을 지나칩니다. 학습률이 너무 작으면 학습 속도가 느리기 때문에 특히 대규모 데이터셋에서 수렴하기까지 많은 에포크가 필요합니다. 에포크마다 훈련 데이터셋을 섞은 결과가 나중에 그대로 재현되도록 random_state 매개변수를 사용합니다.

사이킷런에서 모델을 훈련하고 2장 퍼셉트론 구현처럼 predict 메서드로 예측을 만들 수 있습니다. 코드는 다음과 같습니다.

>>> y_pred = ppn.predict(X_test_std)
>>> print('잘못 분류된 샘플 개수: %d' % (y_test != y_pred).sum())
잘못 분류된 샘플 개수: 1

코드를 실행하면 이 퍼셉트론 모델이 45개의 샘플에서 한 개를 잘못 분류합니다. 테스트 데이터셋에 대한 분류 오차는 약 0.022 또는 2.2%입니다(1/45 ≈ 0.022).

Note ≡ 분류 오차 vs 정확도


분류 오차 대신 많은 머신 러닝 기술자는 모델의 분류 정확도(accuracy)를 계산합니다. 계산은 다음과 같습니다.

1 - 오차 = 0.978 또는 97.8%

분류 오차와 정확도 중 어느 것을 선택해도 괜찮습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.