I'd rather be anything but ordinary


GSoC Final Report: Improving the user experience

Name: Yuhui Liu
Organization: Shogun Machine Learning Toolbox
Mentor: Heiko, Viktor and Gil


This page contains links to the work I have done for Shogun as part of my GSoC project, the shogun toolbox has implemented many machine learning algorithm, but some APIs of shogun are not very friendly, so my GSoC project mainly is to improving the user experience, make shogun more easy use,
the first period I did is to make machine class stateless, we don’t want to store feature and label in
machine class, feature/label as passed parameters is a better way. The second period I did is to write label encoder class which can transform one type label to another type. The last period has been spent working on writing composite class which can combine multiple machine learning algorithm, and providing a new cross-validation wrapper which can choose the best parameters from the provided list.
More details can be found in the blog posts.

Blog post:

Make Machine class stateless

PR Description State
5053 Refactor NearestCentroid class Merged
5055 Add NonParametricMachine class Merged
5072 Refactor gaussian process machine Merged
5075 Refactor KernelMachine Merged
5089 Refactor LinearMachine Merged
5101 Refactor MulticlassMachine Merged
5104 Refactor all machine Merged
1 Libtooling to find all class access m_labels Merged
2 Libtooling to automatically refactor class Reviewing
5111 Make Machine class stateless Reviewing

Add Label Encoder

PR Description State
5067 Add label encoder Merged
5112 Add RegressionLabels Encoder Reveiwing

Add composite class

PR Description State
5038 Add composite class Reveiwing

Suggest class name if class name not found

PR Description State
5110 Suggest class name if class name not found Reveiwing

ADD CrossValidation Wrapper

PR Description State
5113 ADD CrossValidation Wrapper Reveiwing