Support Vector Machine?

주어진 데이터를 바탕으로 두 카테고리 사이의 가격(Margin)을 최대한 넓게 차이하는 방법을 찾아내는 방법. 그 마진 사이에 겹쳐있는 데이터들은 서포트 백터라고 부른다.


임포트,  SMC는 svm을 이용해서 classification한다는 의미

from sklearn.svm import SVC

알고리즘에 데이터 넣고 훈련시켜 모델 만들기

for i in [0.1,0.2,0.3,0.4,0.5,0.6,0.7, 0.8,0.9,1]:
  svc = SVC(C=i)                                         # C는 Margin 사이에 들어온 데이터(노이즈)를 얼마나 무시할지로 값이 커질수록 무시하는 노이즈도 많아진다 , 이번에 for문을 통해 값을 몇으로 줘야 모델의 정확도가 높아질지 뽑아냈다.
  svc.fit(X_train, y_train)                              # 알고리즘에 데이터줘서 훈련완료 => 모델
  y_pred = svc.predict(X_test)                           # 예측 완료
  print('서포트 벡터 머신, i={} 정확도: {:.2f}'.format(i, accuracy_score(y_test, y_pred)*100
  
  출력>
    서포트 벡터 머신, i=0.1 정확도: 90.00
    서포트 벡터 머신, i=0.2 정확도: 100.00
    서포트 벡터 머신, i=0.3 정확도: 100.00
    서포트 벡터 머신, i=0.4 정확도: 100.00
    서포트 벡터 머신, i=0.5 정확도: 100.00
    서포트 벡터 머신, i=0.6 정확도: 100.00
    서포트 벡터 머신, i=0.7 정확도: 100.00
    서포트 벡터 머신, i=0.8 정확도: 100.00
    서포트 벡터 머신, i=0.9 정확도: 100.00
    서포트 벡터 머신, i=1 정확도: 100.00

 

+ Recent posts