[code=text# Data
setwd("C:/Users/thinkpad/Desktop/作業")
getwd()
data <- read.csv("binary.csv", header = TRUE)
str(data)
# Min-Max Normalization
data$gre <- (data$gre - min(data$gre))/(max(data$gre) - min(data$gre))
data$gpa <- (data$gpa - min(data$gpa))/(max(data$gpa) - min(data$gpa))
data$rank <- (data$rank - min(data$rank))/(max(data$rank)-min(data$rank))
# Data Partition
set.seed(222)
ind <- sample(2, nrow(data), replace = TRUE, prob = c())
training <- data[ind== ,]
testing <- data[ind== ,]
# Neural Networks
library(neuralnet)
set.seed(333)
n <- neuralnet(admit~gre+gpa+rank,
data = training,
hidden = ,
#hidden = c(2,1),
err.fct = "ce",
linear.output = FALSE)
plot(n)
# Prediction
output <- compute(n, training)
head(output$net.result)
head(training[1,])
# Node Output Calculations with Sigmoid Activation Function
in4 <- 0.0455 + (0.82344*0.7586206897) + (1.35186*0.8103448276) + (-0.87435*0.6666666667)
out4 <- 1/(1+exp(-in4))
in5 <- -7.06125 +(8.5741*out4)
out5 <- 1/(1+exp(-in5))
# Confusion Matrix & Misclassification Error - training data
output <- compute(n, training)
p1 <- output$net.result
pred1 <- ifelse(p1>0.5, 1, 0)
tab1 <- table(pred1, training$admit)
tab1
1-sum(diag(tab1))/sum(tab1)
# Confusion Matrix & Misclassification Error - testing data
output <- compute(n, testing)
p2 <- output$net.result
pred2 <- ifelse(p2>0.5, 1, 0)
tab2 <- table(pred2, testing$admit)
tab2
1-sum(diag(tab2))/sum(tab2)
][/code]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230436.html
標籤:其他技術專區
