14

Does anyone know a good Java machine learning library I can use for a commercial product?
Weka and Rapidminer unfortunately do not allow this. I already found Apache Mahout and Java Data Mininng Package. Has anyone experience with them and provide some decision support?
The task calls for clustering and classification algorithms.

WorstCase
  • 325
  • 4
  • 13
  • How did it go? Did Cognitive Foundry fulfil your needs? Encog? – DavidS May 09 '12 at 23:54
  • I implemented a number of different algorithms using Cognitive Foundry and was quite pleased with the results and the API design. The only problem was a bug which I was able to "workaround", but should be fixed in the next version. I also tried out some Encog stuff and would prefer it for tasks using neural networks in the future. But the only thing I used from it in the end was the provided interface to the LibSVM which is very comfortable. – WorstCase May 13 '12 at 09:24
  • Weka is also distributed under commercial licence acording to its FAQ: http://weka.wikispaces.com/Can+I+use+WEKA+in+commercial+applications%3F – user1767316 Oct 29 '16 at 18:15

5 Answers5

11

Encog

It is licensed under Apache, so you can use it in your commecrial projects as you see fit. It's the best performing & most easy to use out of all Java AI libs I've ever seen in my experience.

TC1
  • 1
  • 3
  • 20
  • 31
3

It somewhat depends on which algorithm you'd like to use, but if decision tree is all you need (I have seen papers that claim that "decision tree is the only machine learning algorithm one ever needs", LOL), C5.0 is an improved version of C4.5 that is only available commercially from the author's own company. (Yes, I know the website looks like it hasn't been touched since 1995, but they are still in business, LOL...)

It also looks like LIBSVM is available for commercial use, and LIBSVM is probably the first- or second-most widely used Support Vector Machine implementation (versus SVMlight). Oracle also includes SVM classification which can be used commercially provided you have the right license with them. SVM is, in most cases, far superior to decision tree, but sometimes using SVM for classification is like using a wrecking ball to kill a fly. I've seen papers that support this as well LOL.

So yeah let me know if you'd like to see any of those papers. :)

dmn
  • 965
  • 3
  • 13
  • 24
3

You can get a commercial license for Weka (and presumably for RapidMiner as well).

user988621
  • 189
  • 1
  • 2
3

I know it is bad style to answer one's own question, but I found a nice BSD-licensed API with a number of different implementations. Its name is Cognitive Foundry and it is developed in an US National Lab. It also comes with implementations for significance tests, clustering, statistic utilities and a text package.

WorstCase
  • 325
  • 4
  • 13
-1

This is a well crafted machine learning library. It's focus is more on natural language processing, but you can use the learning algorithms for a variety of tasks. There's a GPL licensed version for academics and researchers and a commercial license version for businesses.

LingPipe http://alias-i.com/lingpipe/

Malcolm
  • 2,394
  • 1
  • 23
  • 26