熱線電話:13121318867

登錄
首頁精彩閱讀R語言利用nnet包訓練神經網絡模型
R語言利用nnet包訓練神經網絡模型
2018-05-23
收藏

R語言利用nnet包訓練神經網絡模型

R語言提供了另外一個能夠處理人工神經網絡的算法包nnet,該算法提供了傳統的前饋反向傳播神經網絡算法的實現。
操作
安裝包與數據分類:
library(nnet)
data("iris")
set.seed(2)
ind = sample(2,nrow(iris),replace = TRUE,prob = c(0.7,0.3))
trainset = iris[ind == 1,]
testset = iris[ind == 2,]
使用nnet包訓練神經網絡

iris.nn = nnet(Species ~ .,data = trainset,size = 2,rang = 0.1,decay = 5e-4,maxit = 200)
# weights:  19
initial  value 114.539765
iter  10 value 52.100312
iter  20 value 50.231442
iter  30 value 49.526599
iter  40 value 49.402229
iter  50 value 44.680338
iter  60 value 5.254389
iter  70 value 2.836695
iter  80 value 2.744315
iter  90 value 2.687069
iter 100 value 2.621556
iter 110 value 2.589096
iter 120 value 2.410539
iter 130 value 2.096461
iter 140 value 1.938717
iter 150 value 1.857105
iter 160 value 1.825393
iter 170 value 1.817409
iter 180 value 1.815591
iter 190 value 1.815030
iter 200 value 1.814746
final  value 1.814746
stoppedafter 200 iterations

調用summary( )輸出訓練好的神經網絡

summary(iris.nn)
a 4-2-3 network with 19 weights
options were - softmax modelling  decay=5e-04
 b->h1 i1->h1 i2->h1 i3->h1 i4->h1
-20.60   0.31  -3.84   3.36   7.72
 b->h2 i1->h2 i2->h2 i3->h2 i4->h2
 -7.15   1.50   2.49  -4.14   5.59
 b->o1 h1->o1 h2->o1
 -7.28  -3.67  13.16
 b->o2 h1->o2 h2->o2
 15.90 -16.64 -19.40
 b->o3 h1->o3 h2->o3
 -8.62  20.31   6.24
在應用函數時可以實現分類觀測,數據源,隱蔽單元個數(size參數),初始隨機數權值(rang參數),權值衰減參數(decay參數),最大迭代次數(maxit),整個過程會一直重復直至擬合準則值與衰減項收斂。
使用模型iris.nn模型完成對測試數據集的預測

iris.predict = predict(iris.nn,testset,type = "class")
nn.table = table(testset$Species,iris.predict)
nn.table
            iris.predict
             setosa versicolor virginica
  setosa         17          0         0
  versicolor      0         13         1
  virginica       0          2        13

基于分類表得到混淆矩陣

confusionMatrix(nn.table)
Confusion Matrix and Statistics

            iris.predict
             setosa versicolor virginica
  setosa         17          0         0
  versicolor      0         13         1
  virginica       0          2        13

Overall Statistics

               Accuracy : 0.9348         
                 95% CI : (0.821, 0.9863)
    No Information Rate : 0.3696         
    P-Value [Acc > NIR] : 1.019e-15      

                  Kappa : 0.9019         
 Mcnemar's Test P-Value : NA             

Statistics by Class:

                     Class: setosa Class: versicolor Class: virginica
Sensitivity                 1.0000            0.8667           0.9286
Specificity                 1.0000            0.9677           0.9375
Pos Pred Value              1.0000            0.9286           0.8667
Neg Pred Value              1.0000            0.9375           0.9677
Prevalence                  0.3696            0.3261           0.3043
Detection Rate              0.3696            0.2826           0.2826
Detection Prevalence        0.3696            0.3043           0.3261
Balanced Accuracy           1.0000            0.9172           0.9330
在調用predict函數時,我們明確了type參數為class,因此輸出的是預測的類標號而非概率矩陣。接下來調用table函數根據預測結果和testset的實際類標號生成分類表,最后利用建立的分類表使用table函數根據caret中的confusionMatrix方法對訓練好的神經網絡預測性能評估。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢