【ML-14】R言語でSVMアルゴリズムを用いた多分類予測
3720 ワード
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、完全なコード
7、運行結果
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
>