機械学習(ニューラルネットワーク編)

ニューラルネットワークモデルで解析
3層パーセプトロンの構築していきます
パッケージの読み込みます

library(e1071)
library(kernlab)
library(nnet)

データセットにirisを取り込みます

data(iris)

データを教師データと解析用に分割します

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

ニューラルネットワークモデルを構築します

weights:  27nn.model<-nnet(Species~.,data=iris.train,size=3,maxit=400)

weights: 27
initial value 87.608992
iter 10 value 30.366258
iter 20 value 10.375070
iter 30 value 0.033544
final value 0.000087
converged

解析用データを解析します

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

解析結果を確認する

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

setosa versicolor virginica
setosa 25 0 0
versicolor 0 24 1
virginica 0 3 22

予測精度の確認します

sum(diag(nn.tab))/sum(nn.tab)

[1] 0.9466667
予測精度95.7%でまずまずの結果。

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