|
| 1 | +--- |
| 2 | +name: New GSoC Project Idea |
| 3 | +about: Template for a GSoC project idea |
| 4 | +title: 'gsoc: project: ' |
| 5 | +labels: gsoc |
| 6 | +assignees: '' |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +# Project Name |
| 11 | + |
| 12 | +AutoML or Automated Machine Learning as the name suggests automates the process |
| 13 | +of solving problems with Machine Learning. AutoML is generally helpful for |
| 14 | +people who aren't either familiar with Machine Learning or the involved |
| 15 | +programming. AutoML aims to improve the efficiency of any task involving |
| 16 | +Machine Learning. |
| 17 | + |
| 18 | +The primary objective we are trying to achieve is to create a model that |
| 19 | +takes as a property of its config a set of models to used for hyperparameter |
| 20 | +tuning. Another property of its config is the set of models which we should |
| 21 | +attempt to tune (via the first set). Default values for these results in using |
| 22 | +all installed models to try to tune all installed model plugins. |
| 23 | + |
| 24 | +- To start, we should define a reduced set of models (not all the ones we have). |
| 25 | + We'll implement AutoML supporting only this reduced set. The first phase of |
| 26 | + this project will be to make sure that one model can be used to tune |
| 27 | + hyperparameters of another model. |
| 28 | + |
| 29 | +- The next phase will be to tune two models using the same tuning model. This |
| 30 | + followed by tuning two models, using two models which amounts to doing the |
| 31 | + previous task twice, with a different tuning model the second time. |
| 32 | + |
| 33 | +- The following phase will be to go through each model in each model plugin we |
| 34 | + have and see which ones have issues being tuned using the approach taken in the |
| 35 | + previous phase. This phase will help us determine which properties or methods |
| 36 | + we may need to add to models to help them self identify and thereby indicate |
| 37 | + their requirements for hyperparameter tuning, or maybe their inherent lack of |
| 38 | + support for it. |
| 39 | + |
| 40 | +- The final phase will be to implement hyperparameter tuning for N by N models, |
| 41 | + after implementing what we found to be gaps in the previous phase.<br> |
| 42 | + |
| 43 | +Due to the shortened GSoC cycle, we may end up not doing all of these phases. |
| 44 | +Which one we go to will be decided as we approach the selection process. |
| 45 | + |
| 46 | +## Skills |
| 47 | + |
| 48 | +- Python |
| 49 | +- Intermediate Machine Learning |
| 50 | +- Experience with various machine learning frameworks (AutoML frameworks would |
| 51 | + be a plus) |
| 52 | + |
| 53 | +## Difficulty |
| 54 | + |
| 55 | +Intermediate/Hard |
| 56 | + |
| 57 | +## Estimated Time Required |
| 58 | + |
| 59 | +175|350 hours |
| 60 | + |
| 61 | +## Related Readings |
| 62 | + |
| 63 | +- https://github.com/intel/dffml/blob/master/docs/contributing/gsoc/2021.md |
| 64 | +- https://scikit-learn.org/stable/model_selection.html#model-selection |
| 65 | +- https://www.automl.org/automl/ |
| 66 | + |
| 67 | +## Getting Started |
| 68 | + |
| 69 | +- Read the contributing guidelines |
| 70 | + - https://intel.github.io/dffml/master/contributing/index.html |
| 71 | +- Go through the quickstart |
| 72 | + - https://intel.github.io/dffml/master/quickstart/model.html |
| 73 | +- Go trough the model tutorials |
| 74 | + - https://intel.github.io/dffml/master/tutorials/models/ |
| 75 | +- Go through the model plugins |
| 76 | + - https://intel.github.io/dffml/master/plugins/dffml_model.html |
| 77 | + - You don't need to go through all of them. Just get a feel for running a few |
| 78 | + |
| 79 | +## Potential Mentors |
| 80 | + |
| 81 | +- [John Andersen](https://github.com/pdxjohnny) |
| 82 | +- [Saahil Ali](https://github.com/programmer290399) |
| 83 | +- [Yash Lamba](https://github.com/yashlamba) |
| 84 | +- [Saksham Arora](https://github.com/sakshamarora1) |
0 commit comments