linear model
lm
glm
glmnet
lda
classification
# load packageslibrary(caret)library(mlbench)library(glmnet)# Load the datasetdata(PimaIndiansDiabetes)# trainset.seed(7)trainControl <- trainControl(method="cv", number=5)fit.glmnet <- train(diabetes~., data=PimaIndiansDiabetes, method="glmnet",metric="Accuracy", preProc=c("center", "scale"), trControl=trainControl)# summarize fitprint(fit.glmnet)
non-linear models
knn
Naive Bayes
SVM (svmRadial) radial kernal
classfication + regression
TREE-based
CART (rpart)
classfication + regression
comparing model performace
# load packageslibrary(mlbench)library(caret)# load the datasetdata(PimaIndiansDiabetes)# prepare training schemetrainControl <- trainControl(method="repeatedcv", number=10, repeats=3)# CARTset.seed(7)fit.cart <- train(diabetes~., data=PimaIndiansDiabetes, method="rpart",trControl=trainControl)# LDAset.seed(7)fit.lda <- train(diabetes~., data=PimaIndiansDiabetes, method="lda", trControl=trainControl)# SVMset.seed(7)fit.svm <- train(diabetes~., data=PimaIndiansDiabetes, method="svmRadial",trControl=trainControl)# KNNset.seed(7)fit.knn <- train(diabetes~., data=PimaIndiansDiabetes, method="knn", trControl=trainControl)# Random Forestset.seed(7)fit.rf <- train(diabetes~., data=PimaIndiansDiabetes, method="rf", trControl=trainControl)# collect resamplesresults <- resamples(list(CART=fit.cart, LDA=fit.lda, SVM=fit.svm, KNN=fit.knn, RF=fit.rf))
Visualization
# box and whisker plots to compare modelsscales <- list(x=list(relation="free"), y=list(relation="free"))bwplot(results, scales=scales)

splom(results)

# difference in model predictionsdiffs <- diff(results)# summarize p-values for pair-wise comparisonssummary(diffs)
