I'm looking for an appropriate model to do the following analysis:
I'd like to test which courses are the most important in determining if a student stays in or leaves a university program. Imagine I have a dataset that looks like:
target (y) = a 0,1 variable indicating if a student left the program.
Features: There are 10 features and each feature is a student's GPA relative to the mean in one of 10 courses. (Imaging we can somehow limit the possible "important" courses to these 10.) Courses are taken in sequence, though that sequence varies across students.
I was imaging using something like Sklearn's Recursive Feature Elimination or ExtraTreesClassifier to identify the most important features. The problem is that for the students who left to program many of the feature values will be missing. (For instance, if a student drops out before taking MATH200 then that value will be missing.)
If I use some sort of value to indicate a student didn't take a course, then I'll have data leakage (since not taking the course indicates that the student dropped out).
Could someone share their opinion as to how I could test for the most important features given the source of missing values?