개발/Kaggle

SVM

개복치 개발자 2020. 7. 20. 19:16

SVM(Support Vector Machine)에 대해서 알아보겠습니다.

 

이런 데이터셋이 있는데, 이 데이터셋을 구분해보고 싶은 겁니다.

 

그래서 이렇게 구분선을 긋는데 아래와 같이 구분해주는 항목(빨간색)기준으로 선을 긋습니다.

 

 

이 과정에서 빨간 선을 늘릴 수도 있고, 좁힐 수도 있습니다. 이 것을 margin이라고 합니다.

 

만약에 아래와 같이 좁게 했을 때

 

엄격하게 데이터를 구분합니다. 하지만, 오버피팅이 일어날 수 있습니다.

 

하지만 위와 같이 마진을 늘리면, 언더피팅이 일어날 수 있습니다.

 

그리고 gamma라는 개념이 나오는데, gamma라는 값을 늘리면

 

아래와 같이 구분선이 구불구불하게 그여집니다.

 

 

감마 값을 작게하면 아래와 같이 구불구불하지 않은 형태로 구성됩니다.

 

구현하면 아래와 같이 할 수 있습니다.

 

'개발 > Kaggle' 카테고리의 다른 글

ROC curve  (0) 2020.09.13
StandardScaler  (0) 2020.07.20
KNN  (0) 2020.07.09
Stacking 실습  (0) 2020.06.07
보팅(Voting)이란  (0) 2020.06.07