Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. ```{r}
  2. #2.5 ####################################################################################
  3. library(MASS)
  4. library(e1071)
  5. library("tree")
  6. fit_NB = naiveBayes(as.factor(good_bad) ~., data = train)
  7. fit_T = tree(formula=as.factor(good_bad)~., data=train, split = "deviance")
  8. fit_T= prune.tree(fit_T, 4)
  9.  
  10.  
  11. Yfit_NB = predict(fit_NB, newdata = test, type = "raw") # raw ger sannolikheter.
  12. Yfit_T = predict(fit_T, newdata = test)
  13. scores_NB = matrix(numeric(((2*length(n)))),ncol =2) #TPR and FPR for Naive Bayes
  14. colnames(scores_NB) = c("TPR", "FPR")
  15.  
  16. scores_T = matrix(numeric(2*length(n)),ncol =2) #TPR and FPR for Tree model
  17. colnames(scores_T) = c("TPR", "FPR")
  18.  
  19. n= seq(0.05,0.95,0.05)
  20. for (i in n){
  21. index = match(i,n)
  22.  
  23. Y_hat_NB = ifelse(Yfit_NB[,2]>i,"good","bad")
  24. Y_hat_T = ifelse(Yfit_T[,2]>i,"good","bad")
  25.  
  26. CT_NB = table(test$good_bad,Y_hat_NB)
  27. CT_T = table(test$good_bad,Y_hat_T)
  28.  
  29. #TPR (True Positive Rate) = probability target being true and model predicting true.
  30. #FPR (False Positive Rate) = probability of the target being false while the model predicts it to be true
  31.  
  32. scores_NB[index,1] = (CT_NB[1,1]/sum(CT_NB[1,])) # TPR = (true|true)/(true|true+false|true)
  33. scores_NB[index,2] = (CT_NB[2,1]/sum(CT_NB[2,])) # FPR = (true|false)/(false|false+true|false)
  34.  
  35. scores_T[index,1] = (CT_T[1,1]/sum(CT_T[1,])) # TPR = (true|true)/(true|true+false|true)
  36. scores_T[index,2] = (CT_T[2,1]/sum(CT_T[2,])) # FPR = true|false/(false|false+true|false)
  37.  
  38. }
  39.  
  40. par( pty = "s")
  41. plot(scores_NB[,2],scores_NB[,1],type = "l", col = "blue", xlim = c(0,1), ylim = c(0,1),
  42. xlab = "fpr",
  43. ylab= "tpr")
  44. lines(scores_T[,2],scores_T[,1], col = "green")
  45.  
  46. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement