Rでニューラルネットワークの可視化
目次
Rにおけるニューラルネットワーク可視化パッケージ
neuralnet関数は標準でplot()関数によりで計算グラフを可視化できる。neuralnet関数のような機能のない他のニューラルネットワークパッケージを使用した時の計算グラフの可視化方法を以下にメモ。
- plot.nn関数
- plotnet関数
下準備
サンプルデータはirisを使用
学習器の作成
d=iris d$Species <- as.factor(d$Species) #train_test_split set.seed(0) sample <- sample.int(n = nrow(d), size = floor(0.80*nrow(d)), replace = F) train <- d[sample, ] test <- d[-sample, ] summary(train) #nnet library(nnet) nn1=nnet(Species~., size=5, data=train) pred_nn1 <- predict(nn1, test,type="class") table(test$Species,pred_nn1)

nnetを可視化
いずれも色で正負を、太さで数値の大小を表してます。
plot.nn関数
source("http://hosho.ees.hokudai.ac.jp/~kubo/log/2007/img07/plot.nn.txt")
plot.nn(nn1)

plot.nnet関数
install.packages("NeuralNetTools")
library(NeuralNetTools)
plotnet(nn1)
ちなみにneuralnet関数では
library(caret)
tmp <- dummyVars(~.,data=train)
dummy <- as.data.frame(predict(tmp, train))
library("neuralnet")
f = Species.setosa + Species.versicolor + Species.virginica~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
nn2 <- neuralnet(formula = f, data = dummy)<br>plot(nn2)
変数が多くなる場合は横向きのplotnet関数による可視化のほうが見やすいですね。plotnet関数は、nnetだけでなくRSNNSやcaretで作成したニューラルネットワークも可視化できて適応範囲が広いので使いやすいです。














ディスカッション
コメント一覧
まだ、コメントがありません