
130
1
부
머신러닝
하지만 잠깐만요 ! 데이터를 자세히 조사하기 전에 항상 테스트 세트를 만들고 따로 떼어놓아야
합니다. 사실
MNIST
데이터셋은 이미 훈련 세트(앞쪽
60
,
000
개 이미지 )와 테스트 세트(뒤
쪽
10
,
000
개 이미지 )로 나누어놓았습니다.
X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
훈련 세트는 이미 섞여 있어서 모든 교차 검증 폴드를 비슷하게 만듭니다(하나의 폴드라도 특
정 숫자가 누락되면 안 됩니다 ). 더군다나 어떤 학습 알고리즘은 훈련 샘플의 순서에 민감해서
많은 비슷한 샘플이 연이어 나타나면 성능이 나빠집니다. 데이터셋을 섞으면 이런 문제를 방지
할 수 있습니다.
3
3.2
이진 분류기 훈련
문제를 단순화해서 하나의 숫자, 예를 들면 숫자
5
만 식별해보겠습니다. 이 ‘
5
-
감지기’는 ‘
5
’와
‘
5
아님’ 두 개의 클래스를 구분할 수 있는
이진 분류기
binary
classifier
의 한 예입니다. 분류 작업을
위해 타깃 벡터를 만들어보겠습니다.
y_train_5 = (y_train == 5)
# 5는 True고, 다른 숫자는 모두 False
y_test_5 = (y_test == 5)
좋습니다. 이제 분류 모델을 하나 선택해서 훈련시켜보겠습니다. ...