機械学習(サポートベクターマシン編)

パッケージの読み込みます

library(e1071)
library(kernlab)

データirisの読み込み、データを教師データと評価データの2つに分割します

data(iris)
n<-seq(1,nrow(iris),by=2)
iris.train<-iris[n,]
iris.test<-iris[-n,]
set.seed(1)

サポートベクターマシーンの構成します

svm.model<-svm(Species~.,type="C-classification",data=iris.train)

サポートベクターマシーンのモデル確認します

svm.model

Call:
svm(formula = Species ~ ., data = iris.train, type = "C-classification")
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
gamma: 0.25
Number of Support Vectors: 36

サポートベクターマシーンのモデルで評価データを予測します

svm.pred<-predict(svm.model,iris.test,type="class")

結果の確認します

head(svm.pred)

2 4 6 8 10 12
setosa setosa setosa setosa setosa setosa
Levels: setosa versicolor virginica

予測結果を表示します

(svm.tab<-table(iris.test$Species,svm.pred))

svm.pred
setosa versicolor virginica
setosa 25 0 0
versicolor 0 25 0
virginica 0 3 22

予測精度の確認します

sum(diag(svm.tab))/sum(svm.tab)

[1] 0.96

この記事が気に入ったらサポートをしてみませんか?