My Plans for Google Summer of Code 2024: A Brief Overview of My Project and Timeline.

 My Plans for Google Summer of Code 2024: A Brief Overview of My Project and Timeline.


Hello everyone! I am Pallav Purbia from Rajasthan, India currently pursuing my Btech in Electrical and Electronics Engineering with a minor degree in Artificial Intelligence and Machine learning from National Institute of Technology Delhi.

I am excited to share that I will be contributing to the Statistics package of GNU Octave this summer. Andreas Bertsatos will be mentoring me throughout this project. I feel incredibly fortunate to be working with him.

My Fork of the repository can be found here where you can check out the progress of the project. Weekly updates and the project’s overall progress will be documented in my blog.

Overview of the Project:

Octave is a pioneer in open-source mathematical-oriented programming language for scientific computing and numerical computation and a free alternative to MATLAB. One of the key features of the Octave is its powerful packages that allow users to work on various applications effectively. The statistics packages enable the users to perform multiple statistical analyses and modeling. Currently, the Statistics package is missing the classdef ClassificationSVM. SVM, which stands for Support Vector Machine, is another popular supervised learning algorithm for classification tasks. Unlike KNN, which classifies based on k nearest neighbors, SVM focuses on finding an optimal separation boundary between different classes in the data. Due to the lack of availability of various classdef like ClassificationSVM users have been opting for other alternatives. Through this project, I would like to understand the needs of users and community expectations from the statistics package and Octave as a statistical and mathematical tool. I’ll try to finish implementing the above-mentioned algorithm during the Google Summer of coding period and implement more missing functionalities and features afterward. I strongly believe that along with providing the users with better usability of Octave this project will also help magnify the user base of Octave. I am motivated to contribute and join the community. Through this project, I would like to understand how open-source work goes on in Octave and become a part of this community. It’s always great to see people use and appreciate your code.


Project Timeline

Project Timeline

Dates Tasks
May 1 - May 26
  • Community Bonding Period
  • Creating an outline of the classes and the various methods under those classes.
  • Read documentation, get up to speed to begin working on the project.
May 27 – June 2
  • Creating the classdef for ClassificationSVM with all the properties.
  • Input validation tests, BISTs.
June 3 – June 9
  • Implementing the method: predict
  • BISTs
June 10 – June 16
  • Implementing the method: margin.
  • BISTs
June 17 - June 23
  • Implementing the method: loss.
  • BISTs
June 24 – June 30
  • Implementing the method: crossval.
  • BISTs
July 1 –July 7
  • Doing any pending work of previous functions.
  • Testing and Cleaning and fixing the issues.
  • Prepare for Midterm evaluations.
July 8 - 18:00 UTC - July 12 - 18:00 UTC
  • Midterm evaluations
July 8 – July 14
  • Implementing the method: testckfold.
  • BISTs
July 15 – July 21
  • Implementing the method: Resubpredict.
  • BISTs
July 22 – July 28
  • Implementing the method: Resubloss.
  • BISTs
July 29 – August 4
  • Implementing the method: Resubmargin.
  • BISTs
August 5 – August 11
  • Buffer Week for any pending work.
  • Planning the structure for ClassificationNeuralNetwork.
August 12 – August 18
  • Creating the classdef for ClassificationNeuralNetwork with all the properties.
  • Implementing the Algorithm for ClassificationNeuralNetwork
  • BISTs
August 19 – August 25
  • Implementing the Algorithm for ClassificationNeuralNetwork
  • Implementing the method: predict.
  • BISTs
July 12 - August 19
  • Winding up the remaining work.
  • Writing Documentation in the wiki.
  • Writing Demo to give examples to the user to use the function.
August 19 - 26 - 18:00 UTC
  • Submission of final work product
  • Final mentor evaluation

Note: The timeline will be further updated.

In this series of blogs, I will be sharing and documenting my whole GSoC journey so stay tuned if you are interested in the progress of this project.

Suggestions and Feedback on this project are highly appreciated 😊. 

Ways in which you can connect with me: LinkedIn, GitHub, Octave Discourse. Also I am creating a thread on Octave discourse where you can ask me anything related to the project: Thread

Comments

Popular posts from this blog

Week 1 (May 27 - June 2) Progress

Week 7 (July 8 –July 14) Progress