Implementing one-class SVM for Novelty Detection



I want to implement one-class SVM in Julia(SVM.jl) very similar to scikit-learn in python (here).

I see that SVM.jl is unmaintained and will be removed from the metadata shortly. Is it going to be removed for sure? What would be the alternative to SVM.jl?


Probably the best course of action is to just go for it and create a new package if the topic is something that interests you. There certainly is room for it and I am sure people would find it useful if it is well made


@Evizero any reason you didn’t mention your


Yes. I don’t want to discourage innovation because of the existence of a half finished package. At this state it should not be considered as relevant to anyone who is interested into tackling SVMs themselves.

I started KSVM with a very particular vision of what it should be, but quickly discovered that I need some other building blocks first in order to realize my plan the way I want to. Some parts are almost there (such as LossFunctions.jl), some I still need to flesh out. Basically I am following a bottom up approach that has very little “visible” progress, so I try to keep quiet unless I have something concrete to report. I only have my spare time available for this, but I will get there eventually.


After a little bit of research, I found that scikit-learn’s one class SVM is implemented on the top of the famous LibSVM implementation of svm.

I think LIBSVM.jl is the package that I have been looking for. Certainly, native implementation is on my bucket list too :slight_smile:


Just curious, why is SVM.jl no longer maintained? What is the scope of improvement so that we can have it registered again in METADATA?
I would be happy to volunteer for it.


SVM.jl never really worked very well. I wouldn’t bother trying to restore it.


LIBSVM.jl has now a new release v0.1.0 with added one-class SVM support and several other fixes.