【ML-14】R言語でSVMアルゴリズムを用いた多分類予測


irisデータセットを用いて学習とテストを行い,最後にその効果を見た.1.SVMアルゴリズムパッケージのロード
library(e1071)
2、訓練とテストセットを区分する
訓練とテストセットを区分する場合はsetを採用する.seed関数は乱数の種子を設定し、これは分割された訓練とテストセットとC 5を保証することができる.0はまったく同じで、後続のテスト効果の比較が便利です.
set.seed(2016) train.indeces iris.train iris.test
3、SVMモデルの構築
svm関数を用いて訓練セットirisに基づいた.train SVMモデルの構築:model svm関数パラメータ:formula:モデルの方程式data:トレーニングセット
4、テストデータ
テストデータセットirisを採用する.testによるテスト:results predict汎用関数による予測:object:svmクラスのモデルオブジェクトnewdata:テストセットtype:予測タイプ、type=「class」は所属クラスを返し、type=「prob」は確率値を返す
5、予測効果res resを表示する
6、完全なコード

rm(list=ls())
gc()
options(scipen = 200)
library(e1071)

iris ##########        #################
set.seed(2016)
train.indeces1:nrow(iris),100)
iris.trainiris.test########  svm       iris.train  SVM  :
modelSpecies~.,data=iris.train)

results_traintype="class")

#      
(res_trainSpecies))

##   
(accurary#############        #####################
results_testtype="class")
(res_testSpecies))

##   
(accurary

7、運行結果
> rm(list=ls())
> gc()
          used (Mb) gc trigger  (Mb) max used  (Mb)
Ncells 1591792 85.1    2637877 140.9  2637877 140.9
Vcells 2765843 21.2    5208873  39.8  5208842  39.8
> options(scipen = 200)
> library(e1071)
> 
> iris 
> ##########        #################
> set.seed(2016)
> train.indeces
> iris.train
> iris.test
> 
> 
> ########  svm       iris.train  SVM  :
> model
> 
> results_train
> 
> #      
> (res_train

results_train setosa versicolor virginica
   setosa         38          0         0
   versicolor      0         31         1
   virginica       0          1        29
> 
> ##   
> (accurary
[1] 0.98
> 
> 
> 
> #############        #####################
> results_test
> (res_test

results_test setosa versicolor virginica
  setosa         12          0         0
  versicolor      0         18         2
  virginica       0          0        18
> 
> ##   
> (accurary
[1] 0.96
>