Machine learning backends API is limited to binary classifications, there are other kind of analytic models we are interested in supporting like regressors, unsupervised learning, and recommendation systems, also multi-class classification and reinforcement learning.
We need to expand the API for it because at the moment we only have train / predict / evaluate methods, they may need to be renamed or \core_analytics\model should use the target parent class (linear, discrete, binary...) to route the model dataset to the correct analytic model in the machine learning backend. This also implies that we need to allow managers to setup each model machine learning backend, because not all machine learning backends will support all prediction models. We can convert the current "Predictions processor" setting to "Default machine learning processor", using the PHP mlbackend by default, where we will have to implement all prediction models.
Recommendations system (collaborative filtering) ideas:
- Course recommendations for course students based on other students enrolments
- Activities to complete to successfully pass an activity based on activities completed by students that passed the activity
- Competencies recommendations when building a learning plan
- How much time will take students to complete this course. Can be based on the amount of activities, deadlines...