Google Summer of Code Final Work Report
- Name: Yash Lamba
- Organisation: Python Software Foundation
- Sub-Organisation: DFFML
- Project: Adding Machine Learning Models to DFFML
- Proposal: https://blogs.python-gsoc.org/media/proposals/GSoC_Proposal_for_PSF__DFFML2.pdf
Adding new machine learning models to DFFML, the proposed models are given below:
- Model 1: Ordinary Least Square Regression (OLSR)
- Model 2: Logistic Regression
- Model 3: k-Nearest Neighbour (kNN)
- Model 4: Naive Bayes
Finalized To-dos and Modifications
During the community bonding period, the proposed work was modified to achieve optimized result from the summer. The finalized work was:
- Adding Linear Regression Model from scratch
- Adding Linear Regression and other proposed models using scikit-learn
- Adding tests for the added models
- Documenting the models
Added Linear Regression model from scratch with tests
Simple Linear Regression model implemented from scratch. This was successfully completed with tests and documentation, and was also releasd on PyPI.
Added scikit models with dynamic support Initially, it was planned to add certain number of models from scikit but as I did it with one model (Multiple Linear Regression with scikit), we decided to extend this and make a base for all scikit models and make other model classes dynamic. This was successful and now adding scikit models to DFFML is as easy as appending the model name to a python dictionary. The tests are complete and the documentation material is ready but we are still figuring out a more understandable way of documenting this before release.
Detailed weekly description of tasks and work done can be found in:
- Weekly Blogs: https://blogs.python-gsoc.org/en/yashlambas-blog/
- Weekly Sync: https://docs.google.com/document/d/16u9Tev3O0CcUDe2nfikHmrO3Xnd4ASJ45myFgQLpvzM/edit#heading=h.4efituelqz5b
The project was started just before GSoC'19 and it has come a long way since. I plan on contributing significantly to the project after GSoC'19. Few of the planned stuff:
- Adding more scikit models
- Working on more machine learning libraries and add models
- Contruct DFFML Web UI from scratch which was conceptualized during summer and much more.
I would like to thank my mentor John Andersen to be such an amazing and incredibly patient mentor throughout summer. His guidance is the reason why this project was successfully completed. Thank you to Python Software Foundation to provide this opportuninty.