top | item 24484545

Tribuo, a Machine Learning Library for Java

46 points| samcolvin | 5 years ago |github.com | reply

21 comments

order
[+] bratao|5 years ago|reply
Looks very interesting! Another Java Library for ML is Smile(https://github.com/haifengl/smile). I deeply recommend it!
[+] hakjink|5 years ago|reply
I want to use smile but their license is prohibiting the use of it at my company. I understand the project authors' intentions to promote contributions to the project, but the requirements to get commercial license is a deal breaker for many.
[+] jarym|5 years ago|reply
This looks excellent, will take a bit of time to go through and understand. The announcement blog is really helpful actually and explains the problem you're solving well (and one I am intimately familiar with so I see value here).

Congratulations!

[+] latenightcoding|5 years ago|reply
It would be cool if they add isolation forests to their anomaly detection algorithms. I'm yet to meet someone who uses one-class SVMs in production
[+] craigacp|5 years ago|reply
We're implementing the extra trees algorithm at the moment, an isolation forest is only a small amount of code from there.
[+] londogard|5 years ago|reply
Hi,

What would you say differentiates you from Smile which includes a simplistic datagrame, visualisation and support for CBLAS etc.

Is speed on par?

[+] craigacp|5 years ago|reply
We have a strong focus on provenance, Tribuo models capture their input and output domains, along with the necessary configuration to rebuild a model. Tribuo's also more object oriented, nothing returns a bare float or int, you always get a strongly typed prediction object back which you can use without looking things up. Tribuo is also happy to integrate with other ML libraries on the JVM like TensorFlow and XGBoost, providing the same provenance/tracking benefits as standard Tribuo models, and we contribute fixes back to those projects to help support the ecosystem. Plus we can load models trained in Python via ONNX.

To your direct question, I've not benchmarked Smile against Tribuo. We are very interested in the upcoming Java Vector API - https://openjdk.java.net/jeps/338 - targeted at Java 16, which will let us accelerate computations which C2 or Graal don't autovectorise.

[+] suyash|5 years ago|reply
Happy to answer any questions you may have about Tribuo.
[+] nikhilgk|5 years ago|reply
This looks really interesting! Kudos and thanks for the good work. Some questions:

- What does the future road map look like?

- Are you planning on adding more algorithms ?

- Any plans to bring in dataset and dataframe handling capabilities such as in numpy/pandas etc?

- What other interop features with other languages/platforms are planned?

- Any plans for AutoML features?

[+] SiempreViernes|5 years ago|reply
What do you use to visualise results and explore features?
[+] RocketSyntax|5 years ago|reply
What is the use case for non-Scala? Apps written in Java?