먼저 사이킷런으로 SVM 모델을 생성 및 훈련시킨 후 검증 데이터를 이용한 예측을 수행합니다.
코드 3-8 SVM 모델에 대한 정확도
svm = svm.SVC(kernel='linear', C=1.0, gamma=0.5) ------ ①
svm.fit(X_train, y_train) ------ 훈련 데이터를 사용하여 SVM 분류기를 훈련
predictions = svm.predict(x_test) ------ 훈련된 모델을 사용하여 검증 데이터에서 예측
score = metrics.accuracy_score(y_test, predictions)
print('정확도: {0:f}'.format(score)) ------ 검증 데이터 (예측) 정확도 측정
다음은 SVM 모델에 대한 정확도 출력 결과입니다.
정확도: 0.988889
① SVM은 선형 분류와 비선형 분류를 지원합니다. 비선형에 대한 커널은 선형으로 분류될 수 없는 데이터들 때문에 발생했습니다.
▲ 그림3-10 선형과 비선형 분류