This is a totally made-up dataset, but this is the general idea (and yes, it's imperfect but that's not quite the point exactly).
I have students and teachers, both entities have features. I have labels, 0 or 1 if it's a good match.
I'd like to train an algorithm to find the best student / teacher match. I'm thinking of a gradient boosting machine regressor of some type.
I'm not sure a GBM would work, for this reason in particular: assume there's a new student and it's time to make an inference. Since the input would require features of both a student and a teacher, it looks like the new student would need to be provided to the trained model 5 times -- each time, with the student's features concatenated to one of the 5 existing teachers' features.
Clearly this is clumsy and wouldn't scale well. This is because I'm trying to make a matching system out of a structure that can't support it.
Does anyone know any way I might be able to make this work with a GBM? Or, is there any other idea / method that might work better?
Why not some kind of recommendation engine? My training set doesn't have any concurrency between teachers; no overlap, and not enough data. So the matrix would be too sparse.
Any ideas greatly appreciated.