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

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

by 드인 2020. 3. 4.

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


1) Breast Cancer 데이터 설명

- Breast Cancer Wisconsin (Diagnostic) Data Set

세침홉인 세포검사를 통해 얻은 683개의 유방조직의 9개 특성을 나타냄

자료 출처 : UCI Machine Learning Repository

2) 서포트벡터머신 패키지와 함수

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

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

cancer<-read.csv("cancer.csv")
head(cancer, n=10)
 
cancer<-cancer[, names(cancer) != "X1"]

첫번째 column인 ID number는 필요없는 feature이므로 제거
attach(cancer)

 

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

set.seed(1000)
N=nrow(cancer)
set.seed(998)

 

tr.idx=sample(1:N, size=N*2/3, replace=FALSE)
train <- cancer[ tr.idx,]
test  <- cancer[-tr.idx,]

train (455개의 데이터)

test (228개의 데이터)

 

- Kernel 함수에 따른 서포트벡터머신

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

m1-kernel : radial

m2-kernel : polynomial

m3-kernel : sigmoid

m4-kernel : linear

 

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