Machine learning algorithm written in Java, not Python?
3
3
Entering edit mode
8.5 years ago

I want to write a program that will involve support vector machines and will analyze data from pretty huge libraries of information. I only have a limited amount of time to do this-- about 2 and a half months-- and i do not know Python. Is my goal feasible if I do this coding project in java? or, should i sacrifice time and learn python?

Thanks!

java python svm machine learning • 2.5k views
ADD COMMENT
4
Entering edit mode
8.5 years ago

I think the most comprehensive Java machine learning suite is Weka. Besides implementations for various machine learning, dimension reduction, and data modifications methods, it contains a GUI you can use to try some of the algorithms on your data (have a look into the Weka Explorer User Guide which is distributed with the tools). After evaluating different machine learning approaches, you can implement you own tool using the provided Java classes.

ADD COMMENT
0
Entering edit mode

Perfect, thank you!!!!

ADD REPLY
2
Entering edit mode
8.5 years ago
Steven Lakin ★ 1.8k

Yes, there are many machine learning libraries for Java, including those with SVM implementations, many of which are just wrappers for C-based code; this is not much different than the Python implementations. If you're pressed for time, it's usually best to develop in the language you're most familiar with for first use cases and only switch to something different later if necessary or for distribution.

LIBSVM for Java is fairly well utilized, I think.

Edit: I'm going to plug Vowpal Wabbit here since you mention that you're interesting in doing machine learning on big data. VW is an optimized online learner that has rbf and linear SVMs built in. You won't have to worry about memory with VW, which is nice, and it is extraordinarily fast. If you need to feature engineer, VW also has functionality for non-redundant polynomial interaction encoding.

ADD COMMENT
1
Entering edit mode

I agree with Steven - while Python is ridiculously easy to learn coming from Java, you don't want to learn a new language under the pressure to perform. That's no fun. Plus I always thought all the original SVM stuff was done in Java in the first place, and only in the last few years has the ML crowd started adding more and more stuff to Python's scikit-learn.

ADD REPLY
0
Entering edit mode

This is quite helpful— thank you both very much!!

ADD REPLY
1
Entering edit mode
8.5 years ago

Also have a look at Weka. It's a collection of machine learning algorithms and tools written in Java. It can be reused in your own code, see here. It already has a wrapper for libsvm

ADD COMMENT
0
Entering edit mode

Thank you very much

ADD REPLY

Login before adding your answer.

Traffic: 1947 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6