From bfca9e47c87858a0001c90c3c62be65a87007b26 Mon Sep 17 00:00:00 2001 From: Jeff~ Date: Thu, 23 May 2019 00:36:45 -0700 Subject: [PATCH 1/2] did question 2 --- main.go | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 145 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index ac77289..7376df1 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,11 @@ package main import ( + "encoding/json" "fmt" + "io/ioutil" + "os" + "strings" "time" ) @@ -19,8 +23,8 @@ func timeTrack(start time.Time, name string) { //It also calls the compute and output the returned struct //to stdout. func main() { - defer timeTrack(time.Now(), "compute diff") - fmt.Println(computeDiff()) + //defer timeTrack(time.Now(), "compute diff") + //fmt.Println(computeDiff()) defer timeTrack(time.Now(), "compute AST") fmt.Println(computeAST()) @@ -36,6 +40,11 @@ func main() { // list of function calls seen in the diffs and their number of calls func computeDiff() *diffResult { + //s :=make([]string, 1) + + + + return nil } @@ -43,5 +52,138 @@ func computeDiff() *diffResult { //a astResult struct that contains all the variable declarations func computeAST() *astResult { - return nil + vars := make([]variableDescription, 0); + + //path to ast json file + path := "./ast/astChallenge.json" + jsonFile, err := os.Open(path) + + if err != nil { + fmt.Println(err) + } + + fmt.Println("Successfully opened "+path) + defer jsonFile.Close() + + byteValue, _ := ioutil.ReadAll(jsonFile) + + var root Root + json.Unmarshal(byteValue, &root) + + allNodes := decl(root.Root) + + for i := 0; i < len(allNodes); i++ { + if(allNodes[i].Type == "LocalDeclarationStatement") { + variable := getVar(allNodes[i]) + vars = append(vars, variableDescription{variable[1], variable[0]}) + } + } + + r := astResult{vars} + + + return &r + +} + +//This function gets all nodes in the ast +func decl(v Type) []Type { + returnTypes := make([]Type, 1) + + if len(v.Children) == 0 { + returnTypes = append(returnTypes, v) + } else { + returnTypes = append(returnTypes, v) + for i := 0; i < len(v.Children); i++ { + appends := decl(v.Children[i]) + for j := 0; j < len(appends); j++ { + returnTypes = append(returnTypes, appends[j]) + } + } + } + + return returnTypes +} + +//This function takes specific nodes from the ast, and searches successive nodes +//for variables. +//This works via a keyword search. Essentially, the function searches all nodes indexed after +//the input node until a node is found that contains an "IdentifierToken" or "*Keyword" in the "Type" field +//in our example, nodes with these "Types" ALWAYS contain some information about a declared variable +//in particular, this is the case when searching through the children of a "LocalDeclarationStatement", which is +//the only time this function is called. +//Regrettably, there's an argument to be made here that this is essentially hard-coding, but the only discernible +//pattern among variables in the ast is the presence of certain keywords, so this is the most obvious approach, +//as well as the quickest. +//Because this is a keyword search, and our example does not contain user-defined variable types, this function +//will not find user-defined variable types. This could be fixed once I know what keywords to handle for these types. +func getVar(v Type) [2]string { + + var identifier string + var datatype string + + nodes := decl(v) + + + for i := 0; i < len(nodes); i++{ + if nodes[i].Type == "VariableDeclarator" { + j:= 1 + for i+j < len(nodes) && nodes[i+j].Type != "IdentifierToken" && !strings.Contains(nodes[i+j].Type, "Keyword") { + j++ + } + if i+j < len(nodes) { + if(strings.Contains(nodes[i+j].Type, "Keyword")){ + datatype = nodes[i+j].Value + } else { + identifier = nodes[i+j].Value + } + } + continue + } else if nodes[i].Type == "VariableDeclaration" { + j:= 1 + for i+j < len(nodes) && nodes[i+j].Type != "IdentifierToken" && !strings.Contains(nodes[i+j].Type, "Keyword") { + j++ + } + if i+j < len(nodes) { + if(strings.Contains(nodes[i+j].Type, "Keyword")){ + datatype = nodes[i+j].Value + } else { + identifier = nodes[i+j].Value + } + + //This handles the case where a variable is declared as "var x = new type y" + //in our example, this only occurs when an array is declared, so we handle that possibility here + if(nodes[i+j].Value == "var"){ + for i+j < len(nodes) && nodes[i+j].Type != "CloseBracketToken" { + if(strings.Contains(nodes[i+j].Type, "Keyword")) { + datatype = nodes[i+j].Value + } + if nodes[i+j].Type == "OpenBracketToken" { + datatype = strings.Join([]string{datatype, "["}, "") + } + j++ + if nodes[i+j].Type == "CloseBracketToken" { + datatype = strings.Join([]string{datatype, "]"}, "") + } + } + } + } + continue + } + } + + return [...]string{datatype, identifier} + +} + + +type Root struct{ + uuid string`json:"uuid"` + Root Type`json:"Root"` +} + +type Type struct{ + Type string `json:"Type"` + Value string `json:"ValueText"` + Children []Type `json:"Children"` } From bfa2f790a5ee7ea2d20d6dbe200370a25db06952 Mon Sep 17 00:00:00 2001 From: Jeff~ Date: Mon, 27 May 2019 00:25:53 -0700 Subject: [PATCH 2/2] pushed missing files --- .Rhistory | 512 +++++++++++++++++++++++++++++++++++++++++ .gitignore | 2 + seq.R | 36 +++ seq.Rmd | 61 +++++ seq.pdf | Bin 0 -> 170841 bytes seq/.~lock.sample.csv# | 1 + seq/seq.py | 142 ++++++++++++ 7 files changed, 754 insertions(+) create mode 100644 .Rhistory create mode 100644 .gitignore create mode 100644 seq.R create mode 100644 seq.Rmd create mode 100644 seq.pdf create mode 100644 seq/.~lock.sample.csv# create mode 100644 seq/seq.py diff --git a/.Rhistory b/.Rhistory new file mode 100644 index 0000000..a9f59ee --- /dev/null +++ b/.Rhistory @@ -0,0 +1,512 @@ +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i][j] <- bootsmod[[i]]$coefficients[j] +print(j) +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +bc <- NA +for(j in 1:length(linear$coefficients)){ +bc[j] <- bootsmod[[i]]$coefficients[j] +} +bootcoef[i] <- bc +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +for(i in 1:length(bootcoef[1])){ +print(sd(bootcoef[,i])) +} +bootcoef +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +bc <- c() +for(j in 1:length(linear$coefficients)){ +bc <- c(bc, bootsmod[[i]]$coefficients[j]) +} +bootcoef[i] <- bc +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +for(i in 1:length(bootcoef[1])){ +print(sd(bootcoef[,i])) +} +bootcoef +bootsmod[[1]]$coefficients[1] +bootsmod[[1]]$coefficients[2] +bootsmod[[1]]$coefficients +bc <- bootsmod[[1]]$coefficients[1] +bc <- c(bc, bootsmod[[1]]$coefficients[1]) +bc +bc <- c(bc, bootsmod[[1]]$coefficients[2]) +bc +bootcoef[1] <- bc +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- data.frame(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +bc <- c() +for(j in 1:length(linear$coefficients)){ +bc <- c(bc, bootsmod[[i]]$coefficients[j]) +} +bootcoef[i] <- bc +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +length(linear$coefficients) +bootcoef +?data.frame +matrix? +; +?matrix +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +bc <- c() +for(j in 1:length(linear$coefficients)){ +bc <- c(bc, bootsmod[[i]]$coefficients[j]) +} +bootcoef[i] <- bc +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +for(i in 1:length(bootcoef[1])){ +print(sd(bootcoef[,i])) +} +bootcoef[1] +bootcoef[2] +bootcoef[1][1] +bootcoef[1][2] +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +bc <- c() +for(j in 1:length(linear$coefficients)){ +bootcoef[i][j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +for(i in 1:length(bootcoef[1])){ +print(sd(bootcoef[,i])) +} +bootcoef +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +bc <- c() +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +for(i in 1:length(bootcoef[1])){ +print(sd(bootcoef[,i])) +} +bootcoef +for(i in 1:length(bootcoef[1])){ ++ print(sd(bootcoef[,i])) ++ } +for(i in 1:length(bootcoef[1])){ ++ print sd(bootcoef[,i]) ++ } +for(i in 1:length(bootcoef[1])){ ++ sd(bootcoef[,i]) ++ } +sd(bootcoef[,1]) +sd(bootcoef[,2]) +sd(bootcoef[,3]) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +bc <- c() +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +sd(bootcoef[,1]) +sd(bootcoef[,2]) +sd(bootcoef[,3]) +sd(bootcoef[,4]) +sd(bootcoef[,5]) +sd(bootcoef[,6]) +sd(bootcoef[,7]) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +as.matrix(c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])), c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7]))) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +as.matrix(c(c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])), c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])))) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +as.data.frame(c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])), c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7]))) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +as.data.frame(c(c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])), c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])))) +set.seed(7861) +cvlm <- list() +msecv <- NA +coef <-matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:nrow(test)){ +#Fit the linear model +cvlm[[i]] <- lm(Chance.of.Admit[-i] ~ Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]) +# Calculate MSE for ith model +msecv[i] <- (predict(cvlm[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +coef[[i]] <- cvlm[[i]]$coefficients +for(j in 1:length(linear$coefficients)){ +coef[i,j] <- cvlm[[i]]$coefficients[j] +} +#msecv[i] +} +set.seed(7861) +cvlm <- list() +msecv <- NA +coef <-matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:nrow(test)){ +#Fit the linear model +cvlm[[i]] <- lm(Chance.of.Admit[-i] ~ Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]) +# Calculate MSE for ith model +msecv[i] <- (predict(cvlm[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +#coef[[i]] <- cvlm[[i]]$coefficients +for(j in 1:length(linear$coefficients)){ +coef[i,j] <- cvlm[[i]]$coefficients[j] +} +#msecv[i] +} +#output mean of MSE +mean(msecv) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +as.data.frame(c(c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])), c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])))) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +as.matrix(c(c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])), c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])))) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])) +c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])) +coef +sd(coef[,1]) +bootcoef +c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])) +c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])) +sd(coef[1,]) +coef[,1] +set.seed(7861) +cvlm <- list() +msecv <- NA +coef <-matrix(nrow = length(test), ncol=length(linear$coefficients)) +for(i in 1:nrow(test)){ +#Fit the linear model +cvlm[[i]] <- lm(Chance.of.Admit[-i] ~ Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]) +# Calculate MSE for ith model +msecv[i] <- (predict(cvlm[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +#coef[[i]] <- cvlm[[i]]$coefficients +for(j in 1:length(linear$coefficients)){ +coef[i,j] <- cvlm[[i]]$coefficients[j] +} +#msecv[i] +} +length(test) +set.seed(7861) +cvlm <- list() +msecv <- NA +coef <-matrix(nrow = 500, ncol=length(linear$coefficients)) +for(i in 1:nrow(test)){ +#Fit the linear model +cvlm[[i]] <- lm(Chance.of.Admit[-i] ~ Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]) +# Calculate MSE for ith model +msecv[i] <- (predict(cvlm[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +#coef[[i]] <- cvlm[[i]]$coefficients +for(j in 1:length(linear$coefficients)){ +coef[i,j] <- cvlm[[i]]$coefficients[j] +} +#msecv[i] +} +#output mean of MSE +mean(msecv) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])) +c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])) +linear$coefficients +summary(linear)$coefficients +summary(linear)$coefficients[,2] +matrix(c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])),c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])), summary(linear)$coefficients[,2]) +matrix(c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])),c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7]))) +newboots <- list() +bootsmod <- list() +msebs <- NA +bootcoef <- matrix(nrow = 1000, ncol=length(linear$coefficients)) +for(i in 1:1000){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +summary(linear)$coefficients[,2] +c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])) +c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])) +newboots <- list() +bootsmod <- list() +msebs <- NA +B <- 5000 +bootcoef <- matrix(nrow = B, ncol=length(linear$coefficients)) +for(i in 1:B){ +newboots[[i]] <- test[sample(1:nrow(test), nrow(test), replace=TRUE),] +bootsmod[[i]] <- lm(University.Rating~., data=newboots[[i]]) +for(j in 1:length(linear$coefficients)){ +bootcoef[i,j] <- bootsmod[[i]]$coefficients[j] +} +#msebs[i] <- (predict(bootsmod[[i]], newdata = data.frame(Serial.No.[-i] + GRE.Score[-i] + TOEFL.Score[-i] +LOR[-i] + CGPA[-i] + Research[-i]))-Chance.of.Admit[i])^2 +} +summary(linear)$coefficients[,2] +c(sd(bootcoef[,1]),sd(bootcoef[,2]),sd(bootcoef[,3]),sd(bootcoef[,4]),sd(bootcoef[,5]),sd(bootcoef[,6]),sd(bootcoef[,7])) +c(sd(coef[,1]),sd(coef[,2]),sd(coef[,3]),sd(coef[,4]),sd(coef[,5]),sd(coef[,6]),sd(coef[,7])) +knitr::opts_chunk$set(echo = TRUE) +library(FNN) +library(mvtnorm) +library(mclust) +library(cluster) +library(fpc) +library(boot) +library(tree) +library(MASS) +library(randomForest) +admissionsData <- read.csv("Admission_Predict_Ver1.1.csv") +#summary (admissionsData) +attach(admissionsData) +#Admission_Predict_Ver1.1 <- read.csv("~/Google Drive/Year 3 - S2 Class Files/DATA 311/Project/graduate-admissions/Admission_Predict_Ver1.1.csv") +#View(Admission_Predict_Ver1.1) +head(admissionsData) +admissionsData <- read.csv("Admission_Predict_Ver1.1.csv") +#summary (admissionsData) +attach(admissionsData) +#Admission_Predict_Ver1.1 <- read.csv("~/Google Drive/Year 3 - S2 Class Files/DATA 311/Project/graduate-admissions/Admission_Predict_Ver1.1.csv") +#View(Admission_Predict_Ver1.1) +head(admissionsData[,-1]) +knitr::opts_chunk$set(echo = TRUE) +library(FNN) +library(mvtnorm) +library(mclust) +library(cluster) +library(fpc) +library(boot) +library(tree) +library(MASS) +library(randomForest) +hms <- hclust(na.omit(dg), method="single") +knitr::opts_chunk$set(echo = TRUE) +library(FNN) +library(mvtnorm) +library(mclust) +library(cluster) +library(fpc) +library(boot) +library(tree) +library(MASS) +library(randomForest) +admissionsData <- read.csv("Admission_Predict_Ver1.1.csv") +#summary (admissionsData) +attach(admissionsData) +#Admission_Predict_Ver1.1 <- read.csv("~/Google Drive/Year 3 - S2 Class Files/DATA 311/Project/graduate-admissions/Admission_Predict_Ver1.1.csv") +#View(Admission_Predict_Ver1.1) +head(admissionsData[,-1]) +dg<-daisy(admissionsData, metric="gower") +pdist <- cmdscale(d=dg) +plot(pdist) +hms <- hclust(na.omit(dg), method="single") +#plot(hms) +pairs(pdist, col=cutree(hms,2)) +#plot(pdist) +setwd("~/Documents/Ubisoft/Technical Test/clever-challenge") +source('~/Documents/Ubisoft/Technical Test/clever-challenge/seq.R') +varImpPlot(rf) +glm(factor(class) ~ ., data=data.frame(sample[,-1])) +simlog <- glm(factor(class) ~ sample[,-1], family="binomial") +simlog <- glm(factor(class) ~ ., family="binomial", data=sample[,1]) +simlog <- glm(formula=factor(class) ~ ., family="binomial", data=sample[,1]) +simlog <- glm(formula=factor(class) ~ sample[,1], family="binomial", data=sample[,1]) +simlog <- glm(factor(class) ~ sample, family="binomial") +simdat <- sample[,-1] +simlog <- glm(factor(class) ~ simdat, family="binomial") +View(simlog) +simlog +simdat <- as.data.frame(sample[,-1]) +simlog <- glm(factor(class) ~ simdat, family="binomial") +simlog <- glm(class ~ simdat, family="binomial") +simdat <- as.matrix(sample[,-1]) +simlog <- glm(class ~ simdat, family="binomial") +simlog <- glm(factor(class) ~ simdat, family="binomial") +simdat <- c(sample$f4, sample$timestamp, sample$f3.1, sample$f3, sample$f8, sample$f5, sample$f10, sample$f6, sample$f9, sample$f12, sample$f13, sample$f7, sample$f17, sample$f15, sample$f2) +simdat <- c(sample$f4, sample$timestamp, sample$f3.1, sample$f3, sample$f8, sample$f5, sample$f10, sample$f6, sample$f9, sample$f12, sample$f13, sample$f7, sample$f17, sample$f15, sample$f2, sample$class) +glm(factor(class) ~ simdat, family="binomial") +glm(as.formula(factor(class) ~ simdat), family="binomial") +?unique +glm(class ~ simdat, family="binomial") +glm(class ~ as.matrix(simdat), family="binomial") +simdat$class +simdat["class"] +simdat <- as.matrix(sample$f4, sample$timestamp, sample$f3.1, sample$f3, sample$f8, sample$f5, sample$f10, sample$f6, sample$f9, sample$f12, sample$f13, sample$f7, sample$f17, sample$f15, sample$f2, sample$class) +simdat +View(simdat) +simdat <- as.data.frame(sample$f4, sample$timestamp, sample$f3.1, sample$f3, sample$f8, sample$f5, sample$f10, sample$f6, sample$f9, sample$f12, sample$f13, sample$f7, sample$f17, sample$f15, sample$f2, sample$class) +View(sample) +simdat <- sample[,-c(1,4,24,17,21,23,14,19,22,25,26,27,28,29,30,31)] +simdat +glm(class ~ simdat, family="binomial") +glm(class ~ ., family="binomial", data=as.matrix(simdat)) +glm(class ~ ., family="binomial", data=simdat) +simlog <- glm(class ~ ., family="binomial", data=simdat) +table(predict(simlog, type="response") > 0.5, sample$class) +table(predict(rf, newdata=sample[,-1]), sample$class) +library(gclus) +??gclus +?glcus +?hclust +plot(sample$event_id, sample$timestamp) +plot(sample$timestamp, sample$f14) +plot(sample$timestamp, sample$f4) +plot(sample$timestamp, sample$class) +?hclust +dg<-daisy(sample[,-1], metric="gower") +install.packages(insect) +install.packages("insect") +?insect +library(insect) +install.packages("sequential") +install.packages("Sequential") +library(Sequential) +??Sequential +?CV.G.Binomial +??neuralnet +??nn +knitr::opts_chunk$set(echo = TRUE) +library(glmnet) +library(neuralnet) +library(NeuralNetTools) +library(nnet) +library(randomForest) +set.seed(212919156) +sample <- read.csv("seq/sample.csv") +sample$class = factor(sample$class) +#Use a random forest to generate a model to predict class +rf <- randomForest(factor(class)~., data=data.frame(sample[,-1])) +#Now look at the Variable Importance Plot of the Random Forest to determine relevant variables to the model +varImpPlot(rf) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c5c99fe --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.RData + diff --git a/seq.R b/seq.R new file mode 100644 index 0000000..0048f20 --- /dev/null +++ b/seq.R @@ -0,0 +1,36 @@ +library(glmnet) +library(neuralnet) +library(NeuralNetTools) +library(nnet) +library(randomForest) + +set.seed(212919156) + +#read in the sample data +sample <- read.csv("seq/sample.csv") +sample$class = factor(sample$class) + +#Use a random forest to generate a model to predict class +rf <- randomForest(factor(class)~., data=data.frame(sample[,-1])) + +#Now look at the Variable Importance Plot of the Random Forest to determine relevant variables to the model +varImpPlot(rf) + +#based on the variable importance plot, the following variables are below an arbitrary 200 MeanGiniDecrease threshold +#So, we'll disregard them and remake the data without +simdat <- sample[,-c(1,4,24,17,21,23,14,19,22,25,26,27,28,29,30,31)] + +#now using only those, we can run a logistic regression +simlog <- glm(class ~ ., family="binomial", data=simdat) + +#Now get the confusion matrix for both +#First the randomForest +table(predict(rf, newdata=sample[,-1]), sample$class) + +#Then the logistic regression +table(predict(simlog, type="response") > 0.5, sample$class) + +#obviously, the randomForest performs better for predictions, so given data about the next events, we would use the randomForest +#model to predict the class. Random Forests have built in cross-validation as well, due to Out-of-Bag estimation, +#so there's no need to additionally cross-validate this model. + diff --git a/seq.Rmd b/seq.Rmd new file mode 100644 index 0000000..8de19f7 --- /dev/null +++ b/seq.Rmd @@ -0,0 +1,61 @@ +--- +title: "Seq.Rmd" +author: "Jeff B" +date: "May 24, 2019" +output: pdf_document +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) +``` + +#Sequence Question + +This question is a sequence classification question. Considering the large number of variables, however, we can start by examining it as a straightforward classification problem. This will allow us some of the benefits of straightforward classification, most importantly variable selection. This part was done in R. +The sequence classification portion was done in Python, and can be found in the seq folder as seq.py + +Start by importing the necessary libraries and setting the seed for reproducibility +```{r, echo=FALSE, warning=FALSE} +library(glmnet) +library(neuralnet) +library(NeuralNetTools) +library(nnet) +library(randomForest) + +set.seed(212919156) +``` + + + +Next, we read in the data, and generate a RandomForest model for this data. RandomForests have built in cross-validation via Out-of-Bag estimates, so we don't need to do any extra cross-validation. We can also look at the variable importance plot here to determine the most important variables. Somewhat arbitrarily, we'll set a cutoff at 200 MeanDecreaseGini. This leaves us with 15 relevant variables. +```{r} +sample <- read.csv("seq/sample.csv") +sample$class = factor(sample$class) + +#Use a random forest to generate a model to predict class +rf <- randomForest(factor(class)~., data=data.frame(sample[,-1])) + +#Now look at the Variable Importance Plot of the Random Forest to determine relevant variables to the model +varImpPlot(rf) +``` + +For comparison, we'll run a logistic regression using only variables above the threshold + +```{r} +simdat <- sample[,-c(1,4,24,17,21,23,14,19,22,25,26,27,28,29,30,31)] + +#now using only those, we can run a logistic regression +simlog <- glm(class ~ ., family="binomial", data=simdat) +``` + +Now we'll get the confusion matrix for both +```{r} +#First the randomForest +table(predict(rf, newdata=sample[,-1]), sample$class) + +#Then the logistic regression +table(predict(simlog, type="response") > 0.5, sample$class) +``` + +The randomForest model perdorms better for predictions, so given data about the next event, we would use the randomForest model to predict the class. +Considering we don't have that information, this process has still been useful, since we will use only those variables we've deemed relevant in our sequence prediction problem. \ No newline at end of file diff --git a/seq.pdf b/seq.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f1c539668598e051da079651e66bd9adcbc1e1c2 GIT binary patch literal 170841 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
u^m9$?Zllrf~_gKA1buAjSf+;pB?|aq;*e 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 literal 0 HcmV?d00001 diff --git a/seq/.~lock.sample.csv# b/seq/.~lock.sample.csv# new file mode 100644 index 0000000..cb84616 --- /dev/null +++ b/seq/.~lock.sample.csv# @@ -0,0 +1 @@ +,jeff,Rupert,24.05.2019 12:01,file:///home/jeff/.config/libreoffice/4; \ No newline at end of file diff --git a/seq/seq.py b/seq/seq.py new file mode 100644 index 0000000..fa02122 --- /dev/null +++ b/seq/seq.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Fri May 24 11:51:19 2019 + +@author: jeff +""" + +import pandas +import matplotlib.pyplot as plt +import numpy +import math +from keras.models import Sequential +from keras.layers import Dense +from keras.layers import Flatten +from keras.layers import LSTM +from sklearn.preprocessing import MinMaxScaler +from sklearn.metrics import mean_squared_error +from sklearn.model_selection import train_test_split +from sklearn.datasets.samples_generator import make_blobs + + +#columns to be used decided from basic classification in R +dataset = pandas.read_csv('sample.csv', usecols=[1,2,4,5,6,7,8,9,10,11,12,13,15,16,18,20], engine='python') +dataset_norm = (dataset - dataset.mean()) / (dataset.max() - dataset.min()) +dataset_norm["class"] = dataset["class"] +#plt.plot(dataset_norm) + +#set seed for reproducibility +numpy.random.seed(212919156) + +#plt.figure() +#groups = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] +#i = 1 +#for group in groups: +# plt.subplot(len(groups), 1, i) +# plt.plot(dataset.values[:, group]) +# plt.title(dataset.columns[group], y=0.5, loc='right') +# i+=1 +#plt.show + +def series_to_supervised(data, n_in=1, n_out=1, dropnan=True): + n_vars =1 if type(data) is list else data.shape[1] + df = pandas.DataFrame(data) + cols, names = list(), list() + #input sequence + for i in range(n_in, 0, -1): + cols.append(df.shift(i)) + names += [('var%d(t-%d)' % (j+1, i)) for j in range(n_vars)] + #forecast sequence + for i in range(0, n_out): + cols.append(df.shift(-i)) + if i == 0: + names += [('var%d(t)'%(j+1)) for j in range(n_vars)] + else: + names += [('var%d(t+%d)'%(j+1)) for j in range(n_vars)] + #aggregate + agg = pandas.concat(cols, axis=1) + agg.columns = names + #drop NaNs + if dropnan: + agg.dropna(inplace=True) + return agg + +scaler = MinMaxScaler(feature_range=(0,1)) +scaled = scaler.fit_transform(dataset_norm.values.astype('float32')) +scaled[:,1] = scaled[:,1].astype('int') +reframed = series_to_supervised(scaled, 1, 1) +reframed.drop(reframed.columns[[16,18,19,20,21,22,23,24,25,26,27,28,29,30,31]], axis=1, inplace=True) + +#split into train and test sets +train = reframed.values[1:-(math.floor(len(dataset)*0.3)),:] +test = reframed.values[-(math.floor(len(dataset)*0.3)):,:] +#split into inputs and outputs +train_X, train_y = train[:,:-1], train[:,-1] +test_X, test_y = test[:,:-1], test[:,-1] +#reshape for 3D input +train_X = train_X.reshape((train_X.shape[0], 1, train_X.shape[1])) +test_X = test_X.reshape((test_X.shape[0], 1, test_X.shape[1])) + + +#Recurrent Neural Network for sequence prediction +model = Sequential() +model.add(LSTM(100, input_shape=(train_X.shape[1], train_X.shape[2]))) +model.add(Dense(1, activation='sigmoid')) +model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) + +history = model.fit(train_X, train_y, epochs=500, batch_size=128, validation_data=(test_X, test_y), verbose=2, shuffle=False) + +plt.plot(history.history['loss'], label='train') +plt.plot(history.history['val_loss'], label='test') +plt.legend() +plt.show() + +scores = model.evaluate(test_X, test_y, verbose=0) + +# make a prediction +yhat = model.predict_classes(test_X) +truth = test_X[:,:,1].astype('int') + +hits = 0; +misses = 0; + +for i in range(len(truth)): + if truth[i] == yhat[i]: + hits = hits+1 + else: + misses = misses+1 + +accuracy = hits/len(truth) + +print('Measured Accuracy of Model: %.3f' % (accuracy*100)) +print('Evaluated Accuracy of Model: %.3f' % (scores[1]*100) ) + + + +Xnew, _ = make_blobs(n_samples=1, centers=3, n_features=train_X.shape[2], random_state=1) +Xnew = Xnew.reshape((Xnew.shape[0],1,Xnew.shape[1])) +ynew = model.predict_classes(Xnew) + +print("Predicting the Class of the next 1-event") +for i in range(len(Xnew)): + print("Event %s, Predicted=%s" % (i, ynew[i])) + + + +#use dummy data to predict the next few classes +Xnew, _ = make_blobs(n_samples=5, centers=3, n_features=train_X.shape[2], random_state=1) +Xnew = Xnew.reshape((Xnew.shape[0],1,Xnew.shape[1])) +ynew = model.predict_classes(Xnew) + +print("Predicting the Class of the next 5-events") +for i in range(len(Xnew)): + print("Event %s, Predicted=%s" % (i, ynew[i])) + +Xnew, _ = make_blobs(n_samples=10, centers=3, n_features=train_X.shape[2], random_state=1) +Xnew = Xnew.reshape((Xnew.shape[0],1,Xnew.shape[1])) +ynew = model.predict_classes(Xnew) + +print("Predicting the Class of the next 10-events") +for i in range(len(Xnew)): + print("Event %s, Predicted=%s" % (i, ynew[i]))