본문 바로가기
공부/R & Python

11-2. 서포트벡터머신 2 (Support Vector Machine)

by 드인 2020. 3. 4.

11-2. 서포트벡터머신 2 (Support Vector Machine)


1) 서포트벡터머신 (kernel 함수)

- 커널이란?

- 서포트벡터머신을 수행하기 위한 패키지 : e1071

- 오분류율 교차표(confusion matrix) 생성을 위한 패키지 : caret

library (e1071)
 
install.packages("caret")
library(caret)

 

- Iris 데이터 (학습데이터와 검증데이터의 분할)

set.seed(1000)
N=nrow(iris)
tr.idx=sample(1:N, size=N*2/3, replace=FALSE)

데이터분할 (학습데이터 2/3, 검증데이터 1/3)


y=iris[,5]

train=iris[tr.idx,]
test=iris[-tr.idx,]

train(100개의 데이터)

test(50개의 데이터)

 

2) kernel 함수에 따른 결과비교

- iris 데이터 (학습데이터와 검증데이터의 분할)

m1<-svm(Species~., data = train)
summary(m1)
m2<-svm(Species~., data = train,kernel="polynomial")
summary(m2)
m3<-svm(Species~., data = train,kernel="sigmoid")
summary(m3)

m1-kernel : radial

m2-kernel : polynomial

m3-kernel : sigmoid

 

- 서포트벡터머신 결과(kernel-radial basis function)