더북(TheBook)

7.3.6 KNN 모델 설정

이제 모델을 만들 차례다.

새 데이터가 들어오면 가장 가까운 이웃의 개수(K)를 지정한다. KNeighborsClassifier 함수에서 n_neighbors 매개변수는 가장 가까운 이웃의 개수(K)를 의미한다. 가장 가까운 이웃의 개수(K)에 따라 결과가 달라지며, fit 함수를 사용해 훈련용 데이터를 적합시켜 모델을 훈련한다.

knn = KNeighborsClassifier( n_neighbors = 15 )
knn.fit( X_train, Y_train )

모델의 훈련 후 성능을 알아보기 위해 accuaracy_score 함수를 사용한다. 모델 knn에 훈련용 데이터 X_train을 주고 예측하도록 한 뒤 정답에 해당하는 데이터 Y_train과 비교해 훈련의 정확성을 측정한다.

accuracy_train = accuracy_score( Y_train, knn.predict( X_train ) )

같은 방법으로 검증용 데이터 X_test를 사용해 예측하고, 검증용 정답 데이터인 Y_test와 비교해 정확성을 측정한다.

accuracy_test = accuracy_score( Y_test, knn.predict( X_test ) )
print( ''Train data Accuracy: %.2f' % accuracy_train )
print( ''Test data Accuracy: %.2f' % accuracy_test )

즉, fit 함수에 훈련용 데이터와 정답 X_trainY_train을 입력해 적합화하고, predict 함수에 샘플을 넣은 후 예측값을 확인하는 것이다.

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