Getting started with new models
yashlamba
Published: 07/23/2019
What did I do this week?
This week was mostly about testing and debugging the scikit linear regression model. After that I implemented saving and loading of the model, which took some time is debugging itself. This work was completed by Friday and I spent the weekend studying some other models including k-Nearest Neighbors, K Means and learnt about support vector machines.
Did I get stuck?
Oh, at loads of places. Most surprising and funny was that I was receiving negative accuracy out of scikit model and I had absolutely no idea what it meant. Now I have got it and mentors are looking into how to we can make this work for DFFML.
I got stuck in saving and loading too, as scikit offers saving and loading with pickle or joblib, I also had to save confidence of the model in a JSON that took tons of ideas and debugging.
Plans for upcoming week?
It'll probably be discussed in the weekly sync and previous two models would be merged.
View Blog Post
Finishing up Scikit Linear Regression
yashlamba
Published: 07/17/2019
I had an assigned task to make the requested changes and refactor the scratch linear regression model. The tests and documentation are complete and are ready to merge along with the model. I will now be working mostly on scikit models from now.
Targets:
1. Linear Regression
2. k Nearest neighbours
Challenges faced:
Challenges are mostly in making the code more understandable and neat. I have been following a protocol of implementing the algorithm in an external repo and then after discussing with mentor, wrapping it as neatly as possible.
Another challenge is debugging, there is no set way to check/debug the code so I have to simultaneously write tests and make sure they are meaningful. This is one of the reasons why scratch Linear Regression took so much time.
Resource I am using:
I really wanted to mention this and would probably write a separate blog on this but for now I am majorly following scikit documentation and an amazing python channel named 'sentdex' on youtube.
View Blog Post
Coding and Communication
yashlamba
Published: 07/11/2019
You have to constantly be learning and implementing various things if you want to be better at programming. Watch some tutorials, checkout some blogs, read the documentation and start experimenting, I have learnt this from my past year experience that if you want to move ahead and be better at any stack of programming, don't get lost in the plethora of tutorials available, pick a project, experiment, un-learn - re-learn stuff and implement. This is by far the most valuable lesson I have learnt.
Second most valuable key is communication. Don't be shy, ask questions because the most valuable teacher is experience and people who have it are the best resource of knowledge you can ask for. My mentor has taught me a lot things after starting GSoC, even learnt quite a few things from the other student working on the project and these lessons and connections will definitely go far ahead in my programming career.
View Blog Post
Working with SciKit and meeting deadlines
yashlamba
Published: 07/09/2019
The first linear regression model took unexpectedly long that put me in a difficult place because now I have to cover up at least a couple more models before the second evaluation. My mentor and I decided to take up Scikit implementations now and I think they will be faster to implement and will give better results too.
Task Assigned:- Complete Linear Regression and one more model (working on both KNN and Logistic regression) before 15th July.
Current State: I ran into unexpected problems with payoneer and hadn't received the payment for my first evaluation up until now. This took a significant part of my time but task wise I completed the context work of Linear Regression with leaves me with testing and documentation only and for the other model, I am done studying and practice it's raw implementation and think I am ready once I am done with my Linear Regression models.
Last week was unexpectedly slow and I probably would have to catch up with it.
View Blog Post
Week 3, Wrapping up Linear Regression from scratch!
yashlamba
Published: 06/23/2019
What was my task?
This week I had to finalize Linear Regression model in DFFML. As my mentor and I had discussed and agreed upon giving the linear regression from scratch model a little more time, as it could help us make a new model tutorial later, I have been working on it for the past 3 of weeks that includes code, documentation, testing and implementing saving and loading besides the main algorithm.
Did I complete my task?
Yes, three days into the 3rd week I was done with the model and it was working fine until my mentor felt making models would be a lot easier if he made some changes in config of DFFML, so to merge my PR, I am waiting for those changes and simultaneously working on the next task which I will talk about in the next blog.
Challenges!
This week was rather not challenging as I had to make the requested changes that my mentor explained to me very well mostly. As DFFML is new, changes rather come up in the core code base sometimes that become challenging both for my mentor and both students involved in GSoC. But it is how projects work, we have a healthy discussion every week and solve every problem together.
View Blog Post