inst/doc/nonet_ensemble_class.R

## ------------------------------------------------------------------------
library(caret)
library(ggplot2)
library(nonet)

## ------------------------------------------------------------------------
dataframe <- data.frame(banknote_authentication)
head(dataframe)

## ------------------------------------------------------------------------
dataframe$class <- as.factor(ifelse(dataframe$class >= 1, 'Yes', 'No'))
dataframe <- data.frame(dataframe)
head(dataframe)

## ------------------------------------------------------------------------
index <- createDataPartition(dataframe$class, p=0.75, list=FALSE)
trainSet <- dataframe[ index,]
testSet <- dataframe[-index,]

## ------------------------------------------------------------------------
control <- rfeControl(functions = rfFuncs,
  method = "repeatedcv",
  repeats = 3,
  verbose = FALSE)


## ------------------------------------------------------------------------
outcomeName <- 'class'
predictors <- c("variance", "skewness", "curtosis", "entropy")

## ---- message = FALSE, results = "hide"----------------------------------
banknote_rf <- train(trainSet[,predictors],trainSet[,outcomeName],method='rf')

## ---- message = FALSE, results = "hide"----------------------------------
banknote_nnet <- train(trainSet[,predictors],trainSet[,outcomeName],method='nnet')

## ------------------------------------------------------------------------
predictions_rf <- predict.train(object=banknote_rf,testSet[,predictors],type="prob")
predictions_nnet <- predict.train(object=banknote_nnet,testSet[,predictors],type="prob")

## ------------------------------------------------------------------------
predictions_rf_raw <- predict.train(object=banknote_rf,testSet[,predictors],type="raw")
predictions_nnet_raw <- predict.train(object=banknote_nnet,testSet[,predictors],type="raw")

## ------------------------------------------------------------------------
Stack_object <- list(predictions_rf$Yes, predictions_nnet$Yes)

## ------------------------------------------------------------------------
names(Stack_object) <- c("model_rf", "model_nnet")

## ------------------------------------------------------------------------
Stack_object_df <- data.frame(Stack_object)

## ------------------------------------------------------------------------
prediction_nonet_raw <- nonet_ensemble(Stack_object, "model_nnet")

## ------------------------------------------------------------------------
prediction_nonet <- as.factor(ifelse(prediction_nonet_raw >= "0.5", "Yes", "No"))

## ------------------------------------------------------------------------
nonet_eval <- confusionMatrix(prediction_nonet, testSet[,outcomeName])
nonet_eval_rf <- confusionMatrix(predictions_rf_raw,testSet[,outcomeName])
nonet_eval_nnet <- confusionMatrix(predictions_nnet_raw,testSet[,outcomeName])
nonet_eval_df <- data.frame(nonet_eval$table)
nonet_eval_rf_df <- data.frame(nonet_eval_rf$table)
nonet_eval_nnet_df <- data.frame(nonet_eval_nnet$table)

## ---- warning = FALSE----------------------------------------------------
plot_first <- nonet_plot(nonet_eval_df$Prediction, nonet_eval_df$Reference, nonet_eval_df, plot_type = "point")
plot_first

## ---- warning = FALSE----------------------------------------------------
plot_second <- nonet_plot(nonet_eval_rf_df$Prediction, nonet_eval_rf_df$Reference, nonet_eval_rf_df, plot_type = "boxplot")
plot_second

## ---- warning = FALSE----------------------------------------------------
plot_third <- nonet_plot(nonet_eval_nnet_df$Prediction, nonet_eval_nnet_df$Reference, nonet_eval_nnet_df, plot_type = "density")
plot_third

Try the nonet package in your browser

Any scripts or data that you put into this service are public.

nonet documentation built on May 2, 2019, 1:31 p.m.