shogun-toolbox / shogun

Shōgun
http://shogun-toolbox.org
BSD 3-Clause "New" or "Revised" License
3.03k stars 1.04k forks source link

Use iterative machine mixin in more algorithms #4488

Open shubham808 opened 5 years ago

shubham808 commented 5 years ago

This is a very good issue for those who want to be involved in the project inside the black box II

In order to make algorithms stoppable, we need to execute each iteration and then save the state in member variables. If a user decides to stop the process at any iteration, control is returned back. This means the user is free to continue, serialize, test etc. on the pre-trained model See Perceptron and NewtonSVM as examples. We want all iterative algorithms to apply this mixin

First Steps

Initially we want this done for a single Linear Machine algorithm (CAveragedPerceptron is a good place to start) See the iterative machine guide for more information

souvik3333 commented 5 years ago

Hi @shubham808, I am new here. I read the wiki for inside the black box II project and I am really interested to work on it. This issue would be a great introduction to the project. So, Can I work on this?

shubham808 commented 5 years ago

Yes go ahead :)

han0305 commented 5 years ago

I am new to open source and I will like to work on this issue.

samdbrice commented 5 years ago

I this issue closed as per the Merge on Mar 2?

karlnapf commented 5 years ago

Nope, still lots of iterative algorithms/machines to port

samdbrice commented 5 years ago

Ah ok, so this is akin to a Milestone/Sticky issue - not a one-off item. This is indeed a good first issue, I'll see if I can implement one.

karlnapf commented 5 years ago

Just checked a few machines that are iterative and realised that most low hanging fruits have been taken. There are quite a few algorithms to port left but the changes will be slightly more nontrivial. Everything that is based on (stochastic) gradient descent is worth looking into here

progmatic-99 commented 5 years ago

I would like to contribute. Is there any work left to be done in this issue?

ashutosh-b-b commented 4 years ago

Hi. If this is still open can I take up this one?

sbrice commented 4 years ago

Sure, go for it. Thanks!

ashutosh-b-b commented 4 years ago

@samdbrice I did started to read the blog and understand it. Which algorithm should I go with knowing that I am a beginner here?

ashutosh-b-b commented 4 years ago

I was thinking to start with Brute KNN can anyone guide me?

vigsterkr commented 4 years ago

@ashutosh-b-b you could start with that or with https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/metric/LMNN.cpp basically the idea is that you follow the CRTP pattern with IterativeMachine and move an iteration to logic into iteration function

ashutosh-b-b commented 4 years ago

Thanks!