I'm trying to build a model predicting the probability of a student's admission in Russian educational system. There are exams for every school subject. The student can take several of them. Based on the results of the exams, the student could be admitted to some faculty (for example, Chemistry, Computer Science, Economics, Politics).

I use scikit-learn to build the model. I tried Naive Bayes, Random Forest and another classification estimators, but there was no much difference. I used method predict_proba to get probabilities, and a dataset with scores for every taken exam as features and faculty as target (faculty is treated as class)

The main problem is that when adding more taken exams, the probability of faculty decreases, while it should increase or not change.

My guess is that the model gives the most popular faculties among students with such scores, not probability of admission. Is there something I can do to improve the model?


1 Answer 1


Make sure you model the $Y$ data in the correct way.

Some reasons I can think on why do you have such strange results:

  • You are modelling binary Yes/No answers for all the students vs all the faculties, make sure you only take into account students which presented to the given faculty (some of them passed and some didn't), not all the students.
  • Sometimes more exams add noise to your answer, because the faculties look for specialized individuals who outperformed in what they are looking for, and that means you will find that the other results are "noise" for the answer.

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.