How can I reduce the size of machine learning model from classification learner app, to be used by my code?
2 views (last 30 days)
Show older comments
Oindri Mazumdar on 22 Jun 2021
Answered: Aditya Patil on 12 Jul 2021
I have developed a module, a part of which uses (predict function) a ML model, generated and saved from Classification Learner App. The problem is with the larger size of the model and memory constraints from hardware. I have two queries :
- Is there any way where I can code the prediction model by using fit functions (example, take the trained model specs and code it instead)?
- If not, then how can I optimize and reduce the size of the trained model?
Aditya Patil on 12 Jul 2021
The size of the model depends on the number of parameters required to define it. Due to their nature, ensembles in general, and forests in specific require lot of parameters.
There are two workarounds,
- You can use other models that are defined using much smaller number of parameters, say SVMs.
- If you want to use ensembles and forests, then you can reduce the number of trees used, and you can reduce the number of leaves in a tree. This will however come at the cost of accuracy.
You should continue to use compact models irrespective of above workarounds. I would not recommend trying to implement the code for the model, as that is unlikely to give any significant improvements over the model.
Find more on Classification Learner App in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!