Posts

Final GSoC'24 Blog: Wrapping Up an Incridible Journey

Hello Everyone, As GSoC'24 comes to a close, I'm thrilled to share that I've completed all the planned tasks for my project. Over the past few months, I've not only learned a tremendous amount but also contributed significantly to the development of key features that will enhance our toolkit. Completing this project has been an immensely rewarding experience. I'm excited about the impact these new features will have on the community. My pull request has been merged, marking the successful completion of my GSoC'24 journey. Thank you to everyone who has followed my progress and supported me along the way. This journey has been a remarkable learning experience, and I'm grateful for the opportunity to contribute to such a meaningful project. Thank you.

GSoC'24 Progress: Nearing Completion on ClassificationGAM

Hello Everyone, I'm excited to share the latest developments in my project. Over the past few weeks, I've made significant strides. Here's a summary of what's been happening: I've successfully developed the 'ClassificationGAM' class, which introduces generalized additive models (GAMs) to our toolkit. GAMs are instrumental in capturing non-linear relationships between features and the target variables, offering a powerful alternative to linear models. The 'ClassificationGAM' class I implemented uses gradient boosting with spline fitting as the base learner, enabling the model to effectively capture complex patterns in the data. I'm currently working on the 'predict' method, allowing the model to make accurate predictions based on the learned relationships. After completing the 'predict' method for 'ClassificationGAM', I will focus on adding documentation for the 'ClassificationDiscriminant' class's fit method an

GSoC'24 Progress: Enhancing Discriminant Analysis and Exploring Generalized Additive Models

Hello Everyone, I'm thrilled to share the latest updates on my project. Here's what I've been working on recently: Achievements Implementation of the ClassificationDiscriminant Class: I have successfully implemented the class definition for ClassificationDiscriminant. This class includes essential methods such as predict, loss, margin, and crossval, enhancing its functionality for discriminant analysis. This addition significantly improves our model's capability to classify data by finding the linear combination of features that best separates different classes. 'ficdiscr' function for training the discriminant analysis model provides the necessary parameters for classification tasks. Modification of the ClassificationPartitionedModel Class: To accommodate the new discriminant class, I have modified the ClassificationPartitionedModel class. This ensures that the model can handle cross-validation and other partitioned operations seamlessly with the new discrimina

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

Hello everyone! I’m excited to share the latest updates on my project. Here’s what I’ve been working on recently: Achievements Completion of the PartialDependence Function:  I have successfully implemented the partialDependence function for the ClassificationKNN model. This function is critical for visualizing and understanding the relationship between individual feature values and the predicted outcomes. It helps interpret the influence of each feature on the prediction, providing valuable insights for model refinement and feature engineering. Current Focus Creating the ClassificationDiscriminant Class:  With the partialDependence function now complete, my next task is to work on the ClassificationDiscriminant class. This class will be essential for extending the model's functionality to include discriminant analysis, which will enhance the model's ability to classify data because it helps find the linear combination of features that best separates different classes. Stay tun

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

Hello everyone! I'm thrilled to share the updates on the project. Let me walk you through what I've been up to: Achievements 1. Completion of the Loss Function Implementation: I successfully finalized the implementation of the 'loss' function for the ClassificationKNN model. This function is pivotal as it measures the error between predicted and actual class labels, steering the model toward improved accuracy. My mentor, Andreas, fixed the bug in the 'Prior' property, which initially hindered the normalization of observation weights; the 'loss' function now performs as expected. 2. Implementation of the Margin function: Besides the 'loss' function, I have implemented the 'margin' function. The function calculates the difference between the predicted probability for the true class and the highest predicted probability for the false classes. Current Focus Implementing the PartialDependence function: My current task involves implementing the

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

I am excited to share the latest progress on my project. Since my previous blog post, I have been working diligently on implementing a 'loss' function for the 'ClassificationKNN' model. This journey has been challenging and rewarding, pushing me to overcome several obstacles. Achievements Implementation   of the 'loss' Function: I successfully implemented the 'loss' function for the 'ClassificationKNN' model. This function is crucial as it measures error between the predicted and actual class labels, guiding the model towards better performance.  Overcoming Challenges: One of the main difficulties I encountered was normalizing the weights of observations. I discovered a bug in the 'Prior' property of the 'ClassificationKNN' object, which was supposed to help normalize the weights. This bug is a significant roadblock.  Next Steps Fixing the Bug: I will delve into the 'ClassificationKNN' function to locate and correct the er

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

Image
In the past two weeks, I have been working on enhancing the statistics package for GNU Octave by implementing a cross-validation framework for classification models. The focus has been on implementing a 'crossval' method in the 'ClassificationKNN' class and creating a ‘ClassificationPartitionedModel’ class and a ‘kfoldPredict’ method. Together, these provide a solid foundation for cross-validation in Octave. This blog will walk you through the progress, challenges, and solutions implemented.  Cross-validation is a method used to evaluate and improve the performance of machine learning models. It is essential in classification models, where the goal is to categorize data into predefined classes. Cross-validation helps assess how well a model will generalize to an independent dataset, which is critical for ensuring its robustness and reliability. The process involves partitioning the dataset into a set of folds, training the model on some folds, and then validating it on