Skip to content

Instantly share code, notes, and snippets.

@jamesthomson
Created November 5, 2014 21:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamesthomson/87b887b607b8660f4ed1 to your computer and use it in GitHub Desktop.
Save jamesthomson/87b887b607b8660f4ed1 to your computer and use it in GitHub Desktop.
library(nnet)
library(ggplot2)
neuralNetScoreTime<-function(var, score){
modelset<-NULL
for (i in 1:var) {
eval(parse(text=paste0("temp.", i, "<-rnorm(150, mean=1, sd=1)")))
eval(parse(text=paste0("modelset<-cbind(modelset, temp.", i, ")")))
}
target<-c(rep("No",50), rep("Yes",50), rep("No",50))
modelset<-data.frame(modelset, target)
ir1 <- nnet(form=target ~ .,data=modelset, size = 10, rang = 0.1, decay = 5e-4, maxit = 200)
scoreset<-NULL
for (i in 1:var) {
eval(parse(text=paste0("temp.", i, "<-rnorm(", score, ", mean=1, sd=1)")))
eval(parse(text=paste0("scoreset<-cbind(scoreset, temp.", i, ")")))
}
start<-Sys.time()
prop<-predict(ir1, scoreset, type = "raw")
class<-predict(ir1, scoreset, type = "class")
pred<-cbind(as.numeric(prop), class)
end<-Sys.time()
return(end-start)
}
neuralNetScoreTime(5,10000)
final<-NULL
for (vars in seq(5, 100, 5)){
for (scores in c(100, 1000, 10000, 100000, 1000000, 10000000)){
time<-neuralNetScoreTime(vars,scores)
temp<-c(vars, scores, time)
final<-rbind(final, temp)
}
}
final<-data.frame(final)
colnames(final)<-c("vars", "scores", "time")
final
ggplot(final, aes(x=vars, y=time, group=scores)) + geom_line(aes(colour = scores)) + ylab("Time (s)") +
xlab("Number of Variables in Neural Net") + labs(colour = "Records Scored")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment