General developer forum

Machine Learning backends plugin

 
Picture of Cchtou Chtou
Machine Learning backends plugin
 
Hello, I am a beginner in Moodle and I want to create a plugin which learns users profiles using a machine learning algorithm. I already created my algorithm in python and I decided to use the machine learning backends type plugin(MLbackends). I'm struggling with the creation of the plugin since there is no examples or already existing plugins in the same type. Can someone tell me if there is already a MLbackends plugins that I don't know about? Is there a recommendation to use this plugin? Can I use the MLbackends moodle's core to create mine? How can I visualize results? Is it possible to add a predictor other than classifier and regressor according to my aims? Any answer will certainly be helpful to me. Thank you
 
Average of ratings: -
Picture of David Monllaó
Re: Machine Learning backends plugin
Core developersMoodle Course Creator Certificate holdersMoodle HQParticularly helpful MoodlersPlugin developersTesters
Hi Cchtou,


Can someone tell me if there is already a MLbackends plugins that I don't know about? 

There are a couple of examples in moodle core https://github.com/moodle/moodle/tree/master/lib/mlbackend

Is there a recommendation to use this plugin?

mlbackend plugins are good for supervised learning problems. You can find the documentation here: https://docs.moodle.org/dev/Machine_learning_backends

Can I use the MLbackends moodle's core to create mine?

You can base your plugin in a core one, yes. Just extend the mlbackend processor class or require moodlemlbackend python package in case you want to reuse some parts of mlbackend python package.

How can I visualize results?

Visualization depends on the machine learning backend. Core's PHP backend does not include any special visualization. Core's mlbackend_python plugin outputs learning process data to a tensorflow summaries file

Is it possible to add a predictor other than classifier and regressor according to my aims?

Just supervised learning is supported by Machine Learning backends core APIs. The API is not ready for unsupervised learning, reinforcement learning... 

 
Average of ratings: Useful (3)
Picture of Cchtou Chtou
Re: Machine Learning backends plugin
 
Hi David, Thank you for this detailed answer, it clears up my ideas. The problem is that I am working with a reinforcement learning algorithm. Thats why I asked about adding another predictor. Is there another alternative iin this case ? Should I change the plugin type? Thank you very much.
 
Average of ratings: -
Picture of David Monllaó
Re: Machine Learning backends plugin
Core developersMoodle Course Creator Certificate holdersMoodle HQParticularly helpful MoodlersPlugin developersTesters

Hi Cchtou,

You can always use plugin types like 'local' or 'admin tool', they are general purpose plugin types. They do not provide you with any starting point like mlbackend plugin types does though, they are just a way to plug any external code into moodle's core. 

Ideally analytics API and machine learning backends would support unsupervised learning and reinforcement learning but they do not and it does not seem like HQ is going to put resources on this at short term. In any case we are open to contributions from the community and any proposed API specs will be welcomed. They would be used as a starting point for future implementations.

 
Average of ratings: Useful (1)
Picture of Cchtou Chtou
Re: Machine Learning backends plugin
 

Hello David,

Thank you for the respond, I'm starting with a local plugin to begin. 

Thanks for the help!! big grin

 
Average of ratings: -