library(caret) filename_train <- "D:\\dat_train_final_experimental1.csv" rdata_fronttest <- "D:\\dat_test_features_experimental.RData" trainData <- read.csv(filename_train, header=TRUE, sep=",", na.strings=c(".", "NA", "", "?"), strip.white=TRUE, encoding="UTF-8", check.names=FALSE) trainData[, ncol(trainData)] <- factor(trainData[, ncol(trainData)]) if(!exists("predictorMask")){ predictorMask <- c(FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE) } if(!exists("nnetObj")){ nnetObj <- train(x = trainData[, predictorMask], y = trainData[, ncol(trainData)], method = "nnet", trControl = trainControl(method = "repeatedcv", p = 0.5), preProcess = c("range"), verbose = TRUE, # nnet parameters: MaxNWts=10000000, trace=FALSE, maxit=1000000, skip = FALSE ) } predictResultsForTrain <- predict(nnetObj, newdata=trainData[, predictorMask]) predictResultsForTrainNumeric <- as.numeric(levels(predictResultsForTrain))[predictResultsForTrain] "Accuracy on train when prediction != 0" mean(predictResultsForTrainNumeric[which(predictResultsForTrainNumeric != 0)] == trainData[, ncol(trainData)][which(predictResultsForTrainNumeric != 0)]) "Accuracy on train on all examples" mean(predictResultsForTrain == trainData[, ncol(trainData)]) load(rdata_fronttest) trainDataFT <- dat_test_features predictorMaskFT <- c(predictorMask, FALSE)#New column "symbol" which does not exist in train data predictResultsForFronttest <- predict(nnetObj, newdata=trainDataFT[,predictorMaskFT]) predictResultsForFronttestNumeric <- as.numeric(levels(predictResultsForFronttest))[predictResultsForFronttest] fronttestTargetClasses <- trainDataFT[,ncol(trainDataFT)] fronttestTargetClasses[which(fronttestTargetClasses>0)] <- 1 fronttestTargetClasses[which(fronttestTargetClasses<0)] <- -1 "Accuracy on fronttest when prediction != 0" mean(predictResultsForFronttestNumeric[which(predictResultsForFronttestNumeric != 0)] == fronttestTargetClasses[which(predictResultsForFronttestNumeric != 0)]) "Accuracy on fronttest on all examples" mean(predictResultsForFronttest == factor(fronttestTargetClasses)) "Confusion matrix for train data" confusionMatrix(predictResultsForTrain, trainData[, ncol(trainData)])$table "Confusion matrix for fronttest data" confusionMatrix(predictResultsForFronttest, factor(fronttestTargetClasses))$table