data-science 2024-07-16

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!

🙏 1
🙂 1

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)

👍 2

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