GSoC`2020 with Shogun — Phase 2

Phase 2 of Google Summer Of Code 2020 with Shogun.

Tej Sukhatme
2 min readAug 25, 2020

My experience in phase 2 of Google Summer of Code 2020, has been very different from that of my first phase. Where the first phase was mostly my coding and writing python code for data cleaning, and preprocessing and notebooks followed by a lot of web development, phase two involved actual debugging of C++ code and dealing with a lot of mathematics related to Poisson regression.

Deliverables

Here is a basic summary of what I have accomplished until now:

  • I have written the code for Possion regression and added it to the Shogun Library.
  • I have written all the unit tests and integration tests to test parts of the code as well as the whole algorithm.

Project-related pull requests:

Meta-example code pull requests:

Meta Example data pull requests:

Issues opened:

Weekly Blog Posts

Experience

I had already written the code for the GLM in the pre-GSoC period and so I mainly had to focus on the debugging and the testing.When I was finished composing the fundamental GLM code, I needed to ensure it works. For this reason, I composed an essential unit test that would run the GLM calculation on a little example data-set and contrasted the outcomes and the first pyGLMnet code. The predictions were off by thousands.

I needed to plan something to fix this so I made all the methods accessible to the test. Initially I went through all the math I had composed by hand in a journal and found a couple of mistakes in there. Following this, there were a few different blunders identified with my understanding of the shogun linalg library I needed to fix.

Finally, everything was all right: the code was returning pretty much similar answers. Still the appropriate responses weren’t actually the equivalent. This was basically because of the fact that the data-set I was utilizing was tiny and 1000 iterations weren’t sufficient thus the final weights relied a great deal upon the first randomly chosen weights.

--

--