Guest User

Untitled

a guest
Jan 22nd, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. > library(caret)
  2. >
  3. > #Sample data
  4. > x1<-rnorm(1000,0,1)
  5. > x2<-rnorm(1000,10,10)
  6. > x3<-rnorm(1000,5,2)
  7. > x4<-rnorm(1000,2,1)
  8. > x5<-rnorm(1000,-2,3)
  9. > yraw<-x1*0.4+x2*2+x3*1.5+rnorm(1000,0,7)
  10. > yfin<-ifelse(yraw>(mean(yraw)+.5*sd(yraw)),1,0)
  11. >
  12. > df<-data.frame(y=yfin,x1=x1,x2=x2,x3=x3,x4=x4,x5=x5)
  13. > df$y<-factor(df$y,levels=c(0,1),labels=c("peace","war"))
  14. >
  15. > #Split the data
  16. > set.seed(123)
  17. > z<-createDataPartition(df$y,p=0.75)
  18. > TrainSet<-df[z$Resample1,]
  19. > TestSet<-df[-z$Resample1,]
  20. >
  21. > #5-fold cross validation
  22. > tc2<-createFolds(TrainSet$y,k=5)
  23. > tc<-trainControl(index=tc2,
  24. + method="cv", number=5,
  25. + summaryFunction=twoClassSummary, # provides ROC summary stats
  26. + savePredictions="final",
  27. + classProbs=T)
  28. >
  29. > model<-train(as.factor(y)~x1+x2+x3+x4+x5,
  30. + metric="ROC", method="glm", family="binomial",
  31. + trControl=tc, data=TrainSet)
  32. >
  33. > #Get held-out predictions
  34. > z<-model$pred
  35. > print(nrow(z)/nrow(TrainSet))
  36. [1] 4
  37. > z.ordered<-z[order(z$rowIndex),]
  38. > head(z.ordered)
  39. parameter pred obs peace war rowIndex Resample
  40. 1 none peace peace 0.99999902 9.843203e-07 1 Fold1
  41. 1202 none peace peace 0.99999905 9.519363e-07 1 Fold3
  42. 1804 none peace peace 0.99999992 8.283829e-08 1 Fold4
  43. 2404 none peace peace 0.99999844 1.563241e-06 1 Fold5
  44. 2 none war war 0.01125721 9.887428e-01 2 Fold1
  45. 1203 none war war 0.01052763 9.894724e-01 2 Fold3
  46. > print(head(tc2$Fold2))
  47. [1] 1 2 6 11 13 15
Add Comment
Please, Sign In to add comment