Repository navigation
model: automl: Implement AutoML #968
Description
Project Description
AutoML or Automated Machine Learning as the name suggests automates the process
of solving problems with Machine Learning. AutoML is generally helpful for
people who aren't either familiar with Machine Learning or the involved
programming. AutoML aims to improve the efficiency of any task involving
Machine Learning.
The primary objective we are trying to achieve is to create a model that
takes as a property of its config a set of models to used for hyperparameter
tuning. Another property of its config is the set of models which we should
attempt to tune (via the first set). Default values for these results in using
all installed models to try to tune all installed model plugins.
-
To start, we should define a reduced set of models (not all the ones we have).
We'll implement AutoML supporting only this reduced set. The first phase of
this project will be to make sure that one model can be used to tune
hyperparameters of another model. -
The next phase will be to tune two models using the same tuning model. This
followed by tuning two models, using two models which amounts to doing the
previous task twice, with a different tuning model the second time. -
The following phase will be to go through each model in each model plugin we
have and see which ones have issues being tuned using the approach taken in the
previous phase. This phase will help us determine which properties or methods
we may need to add to models to help them self identify and thereby indicate
their requirements for hyperparameter tuning, or maybe their inherent lack of
support for it. -
The final phase will be to implement hyperparameter tuning for N by N models,
after implementing what we found to be gaps in the previous phase.
Due to the shortened GSoC cycle, we may end up not doing all of these phases.
Which one we go to will be decided as we approach the selection process.
Skills
- Python
- Intermediate Machine Learning
- Experience with various machine learning frameworks (AutoML frameworks would
be a plus)
Difficulty
Intermediate to Difficult
Related Readings
- https://github.com/intel/dffml/blob/master/docs/contributing/gsoc/2021.md
- https://scikit-learn.org/stable/model_selection.html#model-selection
- https://www.automl.org/automl/
Getting Started
- Read the contributing guidelines
- Go through the quickstart
- Go trough the model tutorials
- Go through the model plugins
- https://intel.github.io/dffml/master/plugins/dffml_model.html
- You don't need to go through all of them. Just get a feel for running a few
Activity
[-]model: automl: Hyperparameter tuning[/-][+]model: automl: Implement AutoML[/+]TejasKarkera10 commentedon Feb 20, 2021
hey i want to contribute to this can you provide a potential start as in how should i proceed
rajpratyush commentedon Feb 23, 2021
@pdxjohnny I have experience of python and have some working experience of Automl as well (did a guided project on coursera - Automl for computer vision) Furthermore I am currently a Kaggle contributor as well. can you provide some insights on how to begin working on this issue?
johnandersen777 commentedon Feb 26, 2021
@TejasKarkera10 @rajpratyush Updated description
rajpratyush commentedon Feb 26, 2021
@pdxjohnny we can begin this phase by some basic linear regression followed by ridge and lasso regression then move to other type of algorithems and i would generally go with supervised learning algorithms first
johnandersen777 commentedon Feb 26, 2021
@rajpratyush How you choose to begin is up to you :)
Experimentation with approaches here would be wise. As it would create content which would inform ones proposal.
This issue will remain open for everyone to attempt until the GSoC proposal milestone.
rajpratyush commentedon Feb 27, 2021
@pdxjohnny I would like to take it up as a project under GSoC 2021.
johnandersen777 commentedon Mar 1, 2021
@rajpratyush Anyone may submit a proposal asking to work on this project during GSoC 2021.
See
rajpratyush commentedon Mar 2, 2021
Ok sir @pdxjohnny btw i had asked some issues to work on can you assign them?
johnandersen777 commentedon Mar 15, 2021
@rajpratyush Unfortunately the way GitHub org permissions work there is no way for me to use the issue assignment functionality to assign issues users who are not a member of the org a repo is in, or are not added as collaborators. I also do not have permissions to add users as collaborators. But you've read the contributing guidelines since your last comment so you know how we communicate so as to work around those issues.
rajpratyush commentedon Mar 15, 2021
@pdxjohnny yes sir I have pushed few commits and there was needing guidance of 3 more issues so as to know where to begin with
johnandersen777 commentedon Apr 22, 2022
It would be good to look at https://github.com/AutoViML/featurewiz when exploring this project.
https://towardsdatascience.com/automate-your-feature-selection-workflow-in-one-line-of-python-code-3d4f23b7e2c4