Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(e1071)
- library(caret)
- ## Since SVM only accepts numeric variables, encoding the famhist feature
- train.encoded_row <- apply(data.frame(train.data$famhist), 1, function(x) ifelse(x == "Present", 1, 0))
- train.data["famhist"] <- train.encoded_row
- validation.encoded_row <- apply(data.frame(validation.data$famhist), 1, function(x) ifelse(x == "Present", 1, 0))
- validation.data["famhist"] <- validation.encoded_row
- svm.model <- svm(chd ~ ., data=train.data, type="C-classification")
- svm.pred <- predict(svm.model, validation.data)
- confusionMatrix(svm.pred, validation.data$chd)
- library(ROCR)
- svm.roc <- prediction(predictions=c(svm.pred), labels=c(validation.data$chd))
- svm.auc <- performance(svm.roc, 'tpr', 'fpr')
- plot(svm.auc, colorize=T, main="Svm ROC")
- library(nnet)
- library(caret)
- ## one hot encoding to use softmax
- train.Y0 = train.data$chd == 0
- train.Y1 = train.data$chd == 0
- ## Neural network with a single hidden layer
- nn1=nnet(train.data, cbind.data.frame(train.Y0, train.Y1), size=20, maxit = 500, softmax = TRUE)
- ## get the prediction
- nn.predictions.encoded = predict(nn1, data=validation.data,type = "class")
- nn.pred = apply(as.data.frame(nn.predictions.encoded), 1, function(x) ifelse(x == "train.Y1", 1, 0))
- confusionMatrix(nn.pred, validation.data$chd)
- library(ROCR)
- nn.roc <- prediction(predictions=c(nn.pred), labels=c(validation.data$chd))
- nn.auc <- performance(nn.roc, 'tpr', 'fpr')
- plot(nn.auc, colorize=T, main="Neural Net ROC")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement