https://hamaguri.sakura.ne.jp/nnet.htm
ここの、5、Rで実行する、を実行するには、コードだけでは足りないようで、
sin9.csv、sin2.csvがどうやら必要らしいんですが、
csvファイルは数字を,で区切ったものですよね、
sin9の方はサイト上にあるのですが、sin2はどこにあるんでしょうか、自分でsinの値を計算して作っていくのでしょうか、
また、input,outputとは何でしょうか、数字しか入れられないのでは・・・
また、
引数の、
output~inputってなんでしょうか?
どういう意味があって、どこに書くんでしょうか?csvファイルには、input、等書けないと思うのですが(数字とコンマのみだし
自分でやってみたこと
csv作り直してコード書きました。
R
1#バックプロパゲーションによるnnetの学習 2library(nnet) 3train <- read.csv("sin9.csv",h=T) 4train 5plot(train) 6valid <- read.csv("sin2.csv",h=T) 7valid 8plot(valid) 9 10#size:中間層、maxit:くりかえし回数 size number of units in the hidden layer. Can be zero if there are skip-layer units. 11#それから,predの"type"で出力形式を指定します.通常は"class"でよい 12#predic.nnetのhelpより If type = "raw", the matrix of values returned by the trained network; 13#if type = "class", the corresponding class 14#(which is probably only useful if the net was generated by nnet.formula). weights: 10 15 16sin1 <- nnet(data=train,output~input,size=3,maxit=2000); 17yosoku1 <- predict(sin1,valid,type="raw") 18plot(valid,type="b") 19points(train,type="b",col=2,pch=16) 20points(valid$input,yosoku1,type="b",col=4,pch=20) 21lines(valid$input,yosoku1,col=4)
sin2.csv
input,output
0,0
0.1,0.099833417
0.2,0.198669331
0.3,0.295520207
0.4,0.389418342
0.5,0.479425539
0.6,0.564642473
0.7,0.644217687
0.8,0.717356091
0.9,0.78332691
1,0.841470985
1.1,0.89120736
1.2,0.932039086
1.3,0.963558185
1.4,0.98544973
1.5,0.997494987
1.6,0.999573603
1.7,0.99166481
1.8,0.973847631
1.9,0.946300088
2,0.909297427
sin9.csv
input,output
0,0
0.75,0.5
1.5,1
3,0
3.75,-0.5
4.5,-1
6,0
初めのほうだけsinっぽい曲線にはなったのですが、これが「だから何なのか」よく分かりません。
見本ファイルが正しいsinカーブであり、これをそのまま真似れば正しいsinカーブになるのですが、
わざわざテストを参考にする意味がよく分かりません。
回答1件
あなたの回答
tips
プレビュー