- 20150824 [學習筆記] R與資料探勘 (1)
- 整理自 R軟體與資料探勘之開發與應用 -- 倒傳遞類神經網路
- [ GitHub ]
- START : 訓練資料和測試資料
- [前置作業] 基本概念
- [建立資料] 以內建之資料集合iris為例
- STEP 1 : 將setosa全部取代為" 1 "
- STEP 2 : 將versicolor全部取代為" 2 "
- STEP 3 : 將virginica全部取代為" 3 "
- NOTICE : 取代 " setosa " , " versicolor " , " virginica " 後的資料表
- STEP 4 : 取得訓練資料
- STEP 5 : 取得測試資料
- (一)倒傳遞類神經網路(Back-Propagation Neural Network)
- [前置作業] 基本概念
- STAGE 1 : 訓練階段
- STAGE 2 : 測試階段
- STAGE 3 : 評估階段
Visible to members of this folder
整理自 R軟體與資料探勘之開發與應用 -- 倒傳遞類神經網路
R 軟體安裝(略過)R Studio軟體安裝(略過)START : 訓練資料和測試資料
# R Script [START]
write.csv(iris, file.choose())
# R Script [END]
(一)倒傳遞類神經網路(Back-Propagation Neural Network)
install.packages('neuralnet')
library("neuralnet")
# training stage
trainingdata <- read.csv(file.choose())
net.model <- neuralnet(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width,trainingdata, hidden=10, threshold=0.01)
print(net.model)
plot(net.model)
# testing stage
testingfile <- read.csv(file.choose())
testingdata <- subset(testingfile, select = -Species)
testingtarget <- testingfile$Species
results <- compute(net.model, testingdata)
print(round(results$net.result))
# accuracy
table(testingtarget, round(results$net.result))
accuracy <- sum(testingtarget == round(results$net.result))/length(testingtarget)
sprintf("%.2f%%", accuracy * 100)