I am new to predictive modelling. I am unable to choose the correct model for predicting if a student will pass or fail a particular exam.

My data set :

Input variables: Total_tests_Taken , Historic_Pass_percentage , attendance_percentage,etc..

Response Variable : PassFailFlag (YES/NO)

I have around 150000 sample student records with both input and response variables populated.

Business case : Predict if a student will pass or fail an exam based on his historical track record.

Please suggest me a model (GLM or randomforest or regression or cart etc..) to choose.

  • 1
    $\begingroup$ There are many methods applicable to the prediction of binary outcomes. You should perhaps start by thinking about whether you want to predict the probability that a student will pass or fail, or merely "Pass" or "Fail" - & if the latter, is it worse if they pass when you've said "Fail" or if they fail when you've said "Pass"? $\endgroup$ – Scortchi - Reinstate Monica Jan 19 '16 at 16:40
  • $\begingroup$ Hi Scortchi, Thank you for the suggestion. I think calculating the probability makes more sense. Can you suggest some model to work on the probability calculation. $\endgroup$ – Shailesh Jan 19 '16 at 17:22

The simplest model to tackle this problem is logistic regression. You can also try Random forests or Support Vector Machines, even Deep learning (although I would not recommend this directly). This is in ascending order of how difficult it is to understand the basic math behind them. All of them can potentially do very well on your problem and cross-validation should be done to figure out what works best in the end for your setup. Also, all of them can output "scores" (e.g. probabilities) instead of binary answers.

In general, there are many more possible methods to be applied to such a problem and it's hard to make more definitive statements what works best in the end without trying on the data itself. I would always go for the simplest first (maybe this already fulfils your needs) and then apply more complicated methods later as a comparison to see if you can improve on that baseline.

  • $\begingroup$ You can also stack some or all of those (logistic regression, ensemble trees, svm) by, for example, taking the outcome that has been picked by most of the models. Having a stack of models might help you capture patterns not "grasped" by the individual models $\endgroup$ – IcannotFixThis Jan 19 '16 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.