GSoC'24 Project: Adding GAM and Discriminant Classification Classes and Implementing Missing Methods

I am Ruchika Sonagote from India, and I am currently studying Computer Science at the Indian Institute of Technology Gandhinagar. I am thrilled to share that I will contribute to the GNU Octave Statistics Package this summer. I am thankful to Andreas Bertsatos for mentoring me throughout this project. I am enthusiastic about the opportunity to contribute to the GNU Octave Statistics Package and am committed to making meaningful contributions to its development.

This project aims to significantly extend the classification capabilities of the GNU Octave statistics package by implementing additional methods for the existing `ClassificationKNN` class and introducing new classification classes, namely `ClassificationDiscriminant` and `ClassificationGAM`. These enhancements will bridge the gap between GNU Octave and MATLAB in terms of advanced data analysis and machine learning functionalities, fostering a richer environment for scientific computing.

Proposed Timeline

Dates Tasks
May 4 - May 11 Getting to know the community and setting everything up. Looking over the current ClassificationKNN setup. Planning how to add new features.
May 12 - May 25 Implementing 'ClassificationPartitionedModel' class and the 'crossval' method for the ClassificationKNN class to enable cross-validation functionality. Writing tests, demos, and documentation.
May 26 - June 8 Adding more methods, such as ‘lime’ and ‘loss,’ continues. Writing tests, demos, and documentation.
June 9 - June 22 Continuing to add more methods, ‘margin’ and ‘partialDependence’. Writing tests, demos, and documentation.
June 23 - July 13 Implementing ClassificationDiscriminant class. Implementing function ‘fitcdiscr’ to fit the ClassificationDiscriminant to the given dataset. Implementing ‘predict’ method to complement the ClassificationDiscriminant model. Further optimizing with Octave's built-in tools, vectorization, etc. Writing tests, documentation, demos.
July 14 - August 10 Implementing ClassificationGAM class. Implementing function ‘fitcgam’ to fit the ClassificationGAM to the given dataset. Implementing a ‘predict’ object to complement the ClassificationGAM model. Making everything work better using Octave's built-in tools, vectorization, etc. Writing tests, documentation, demos.
August 11 - August 19 Testing everything I've built to make sure it works fine. Writing any missing parts of documentation, tests, and demos. Finalizing tests, fixing any bugs, and getting everything ready for release.

You can see the progress of the project through this forked repository. I will also share the weekly updates through my blog. Suggestions and feedback are welcome 😃.

Comments

Popular posts from this blog

GSoC'24 Week 1 & 2 Progress: Building a Cross-Validation Framework in Octave

GSoC'24 Progress: Implementing 'loss' function for 'ClassificationKNN' class