Advertisement
sreejith2904

Untitled

Apr 16th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.48 KB | None | 0 0
  1. library(e1071)
  2. library(caret)
  3. ## Since SVM only accepts numeric variables, encoding the famhist feature
  4. train.encoded_row <- apply(data.frame(train.data$famhist), 1, function(x) ifelse(x == "Present", 1, 0))
  5. train.data["famhist"] <- train.encoded_row
  6.  
  7.  
  8. validation.encoded_row <- apply(data.frame(validation.data$famhist), 1, function(x) ifelse(x == "Present", 1, 0))
  9. validation.data["famhist"] <- validation.encoded_row
  10.  
  11.  
  12.  
  13. svm.model <- svm(chd ~ ., data=train.data, type="C-classification")
  14. svm.pred <- predict(svm.model, validation.data)
  15. confusionMatrix(svm.pred, validation.data$chd)
  16.  
  17. library(ROCR)
  18. svm.roc <- prediction(predictions=c(svm.pred), labels=c(validation.data$chd))
  19. svm.auc <- performance(svm.roc, 'tpr', 'fpr')
  20. plot(svm.auc, colorize=T, main="Svm ROC")
  21.  
  22.  
  23.  
  24.  
  25. library(nnet)
  26. library(caret)
  27.  
  28.  
  29. ## one hot encoding to use softmax
  30. train.Y0 = train.data$chd == 0
  31. train.Y1 = train.data$chd == 0
  32.  
  33. ## Neural network with a single hidden layer
  34. nn1=nnet(train.data, cbind.data.frame(train.Y0, train.Y1), size=20, maxit = 500, softmax = TRUE)
  35.  
  36. ## get the prediction
  37. nn.predictions.encoded = predict(nn1, data=validation.data,type = "class")
  38. nn.pred = apply(as.data.frame(nn.predictions.encoded), 1, function(x) ifelse(x == "train.Y1", 1, 0))
  39. confusionMatrix(nn.pred, validation.data$chd)
  40.  
  41. library(ROCR)
  42. nn.roc <- prediction(predictions=c(nn.pred), labels=c(validation.data$chd))
  43. nn.auc <- performance(nn.roc, 'tpr', 'fpr')
  44. plot(nn.auc, colorize=T, main="Neural Net ROC")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement