2
$\begingroup$

I'm about to take my first stab at creating a model but have no idea as to where I should begin.

I am trying to predict student exam performance. More specifically, I want to predict when students do well, especially the top performers. Is this a classification or regression problem? I have the numerical grades but am more concerned about a small subset at the top of the curve. Also, are there any algorithms that would fare better at predicting this group? Given the nature of my columns and everything I've read in texts/online I assumed a random forest would be appropriate.

$\endgroup$
4
  • 2
    $\begingroup$ It's often a good idea to leave numerical DVs as numerical as opposed to binning them and doing classification. What kind of features are you using (number and type) and do you have a lot of data? I would keep in mind that part of understanding what makes the students do well is learning what makes students do poorly. $\endgroup$ Commented Sep 28, 2015 at 15:35
  • $\begingroup$ there are hundreds of columns. almost all are numbers and many are correlated. i have around 100,000 rows. $\endgroup$ Commented Sep 28, 2015 at 15:43
  • $\begingroup$ @jlimahaverford Can I simply repeat whatever technique I use to investigate the top performers and apply it to the lowest performers? $\endgroup$ Commented Sep 28, 2015 at 16:34
  • $\begingroup$ I would suggest using all your data in one regression. $\endgroup$ Commented Sep 28, 2015 at 16:59

1 Answer 1

1
$\begingroup$

There are many ways to approach your problem, and which one you should do is probably more a matter of "try them all and pick the best".

You could phrase this as a regression problem, where you predict the score of an individual student's assignment. Then you simply sore the predicted scores and look at the top. This gets more interesting if you also produce confidence intervals, you could then sort on mean prediction of the minimum of the interval.

You could phrase this as a classification problem, label old students and a assignments in the top as "top" and everyone else as "lesser". Then apply classifier on new students. This could get a little awkward if you have too many or few people classified as "top".

You could phrase this as a ranking problem. In this you directly learn to rank the students from best to worst, though you don't necessarily get a score with the ranking like you do if you treat it as a regression problem.

You could also phrase this as an outlier detection problem, as the very top performers are outliers relative to the rest of the students.

Without knowing the details of your data and what further things may need to be done, no one can tell you which is likely to be the best- try them and find out for yourself.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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