Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(caretEnsemble)
- library(readxl)
- library(caret)
- library(neuralnet)
- Logs1 <- read_excel("C:/Users/Abdulazizs/Desktop/Projects/Indirect/Logisitc Idea.xlsx",
- sheet = "Pivot Table", n_max = 5000)
- Logs1$Direct_or_Indirect <- NULL
- Logs1$parentaccount <- NULL
- Logs1$Rank <- as.factor((Logs1$Rank))
- head(Logs1)
- set.seed(32942899)
- ##Seperating Data
- logpart <- Logs1[sample(nrow(Logs1)),]
- split <- floor(nrow(Logs1)/3)
- trainlog <- Logs1[(split+1):(split*2), ]
- testlog <- Logs1[(split*2+1):nrow(Logs1), ]
- validtest <- Logs1[0:split,]
- TrainingParameters1 <- trainControl(method = "repeatedcv", number = 10, repeats=10)
- table(testlog$Rank)
- ##Models
- KNN1 <- train(Rank~., trainlog, method = "knn", trControl= TrainingParameters1, preProcess=c("scale","center"), na.action = na.omit)
- NModel <- train(Rank~., trainlog, method = "nnet", trControl= TrainingParameters,preProcess=c("scale","center"),na.action = na.omit)
- ##Predicting off of test data
- KNNPrediction <-predict(KNN1, newdata = testlog)
- NMPred<-predict(NModel, testlog, type = "raw")
- ##Placing Predicts vs actual in same table
- KNNTable<- table(KNNPrediction, testlog$Rank, useNA="ifany")
- NNTable<- table(NMPred, testlog$Rank, useNA="ifany")
- ## Confusion Matrix
- KNNCnn <- confusionMatrix(KNNTable)
- NNCnn <- confusionMatrix(NNTable)
- #####
- Test_KNN_NNTable <- data.frame(NMPred,KNNPrediction, testlog, stringsAsFactors = F )
- modelStack <- train(Rank~ ., data = Test_KNN_NNTable, method = "rf", na.action = na.omit)
- #################################################################START OF STACKED MODEL SECTION#################################################################################
- ## Creating new predicitions
- TestNN<- predict(NModel, newdata = validtest)
- TestKNN <- predict(KNN1, newdata = validtest)
- Test_KNN_NNTable2 <- data.frame(TestNN,TestKNN, validtest, stringsAsFactors = F )
- length(TestNN)
- length(TestKNN)
- modelStack <- modelStack[1:1666]
- ***Test_KKN_NN_Pred <- predict(modelStack, Test_KNN_NNTable2 )***
- ## Checking lengths
- length(Test_KKN_NN_Pred)
- length(TestKNN)
- length(TestNN)
- length(validtest$Rank)
- ##Creating new tables
- Everything_Combined <- table(Test_KKN_NN_Pred[1:1666], validtest$Rank, useNA="ifany")
- KNN_New_Table <- table(TestKNN, validtest$Rank, useNA="ifany")
- NN_New_table <- table(TestNN, validtest$Rank, useNA="ifany")
- ##New COnfusion Matrix
- confusionMatrix(KNN_New_Table)
- confusionMatrix(NN_New_table)
- confusionMatrix(Everything_Combined)
- ```
- Expected results are: Creating a more accurate model from stacking.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement