I see that scicloj.ml.tribuo currently supports classification and regression models, and I’ve got two questions:
1. Will it eventually support clustering, and if so, when?
2. Should I use Tribuo’s Java API for clustering in the meantime? It doesn’t seem very compatible with other Clojure libraries like tech.ml.dataset.
The https://generateme.github.io/fastmath-clustering/ library contains some clustering algorithms (using Smile v2 rather than Tribuo).
Thanks! I looked at it and it seemed to fit my use case, but https://scicloj.github.io/blog/the-current-state-of-ml-in-clojure/ suggests moving away from Smile due to licensing issues. I’m working on my company’s internal corporate software, and Smile is currently under GPLv3. Should I avoid it?
You're right, this is exactly the reason Smile was removed from Fastmath itself for the upcoming Fastmath version 3. Fastmath-clustering uses Smile version 2, which allows for a difference license -- see the note at the top of the page.
Indeed confusing.
Oh right, I mistakenly thought fastmath-clustering used Smile under GPLv3, but it actually uses an old version of Smile under LGPL. Thanks!
GPL V3 should be fine for internal software though
(heck, it is fine for commercial software too, just not proprietary software, but that can be an issue in some circumstances)
Currently scicloj.ml.tribuo supports supervised learnining only. I am happy to accepts PRs to support clustering. In the meanwhile it is of course OK to use Java interop