11-1. 서포트벡터머신 1 (Sipport Vector MAchine)
1) 서포트벡터머신 (Support Vector Machine)
- 선형 SVM
- 비선형 SVM
2) iris 데이터 설명
- iris 데이터 (iris.csv)
3) 서포트벡터머신 패키지와 함수
- 서포트벡터머신을 수행하기 위한 패키지 : e1071
- 서포트벡터머신 함수 : svm
install.packages("e1071")
library (e1071)
4) 서포트벡터머신 결과
- 서포트벡터머신 함수 : svm(y변수~x변수, data= _
- iris 데이터의 서포트벡터머신 결과 (전체 데이터를 사용한 결과)
m1<- svm(Species ~., data = iris, kernel="linear")
summary(m1)
[svm의 결과 요약]
Call:
svm(formula = Species ~ ., data = iris, kernel = "linear")
Parameters:
SVM-Type: C-classification
SVM-Kernel: linear
cost: 1
Number of Support Vectors: 29
( 2 15 12 )
Number of Classes: 3
Levels:
setosa versicolor virginica
svm에서 주어지는 옵션(default)
kernel=radial basis function,
gamma=1/(# of dimension) (1/4=0.25)
- svm모델에 적용하나 예측범주와 실제범주 비교(전체 데이터를 사용한 결과)
x<-iris[, -5] iris데이터에서 타겟값이 5번째 열을 제외한 데이터, 즉 4개의 독립변수들만 있는 데이터
pred <- predict(m1, x) svm모델 m1을 적용하여 예측된 범주값을 pred로 저장
y<-iris[,5]
table(pred, y)
[출력 결과]
y
pred setosa versicolor virginica
setosa 50 0 0
versicolor 0 46 1
virginica 0 4 49
오분류율 : (1+4)/150=0.0333 (3.33%)
- iris 데이터의 서포트벡터머신 결과 (전체 데이터를 사용한 결과)
plot(m1, iris, Petal.Width~Petal.Length, slice=list(Sepal.Width=3, Sepal.Length=4))
'공부 > R & Python' 카테고리의 다른 글
11-3. 서포트벡터머신 3 (Support Vector Machine) (0) | 2020.03.04 |
---|---|
11-2. 서포트벡터머신 2 (Support Vector Machine) (0) | 2020.03.04 |
10-4. 판별분석(Discriminant Analysis) 2 - 이차판별분석 - (0) | 2020.03.03 |
10-3. 판별분석(Discriminant Analysis) 1 -선형판별분석- (0) | 2020.03.03 |
10-2. k-인접기법(k-Nearest Neighbor) 2(최적 k 탐색과 가중치 k-인접기법) (0) | 2020.02.26 |