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.
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
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/
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.
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.
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. :)
You can get a commercial license for Weka (and presumably for RapidMiner as well).