5 ms·
SmileMiner – A Java library of state-of-art machine learning algorithms
- aaronmck 12y agoCool, though a more community friendly license would be great ("Confidential Proprietary" doesn't seem encouraging...)
- dethstar 12y agoWhat? From the license file it appears to be Apache https://github.com/haifengl/smile/blob/master/LICENSE https://github.com/haifengl/smile/blob/master/LICENSE
- Aardwolf 12y agoIt does say "Confidential Proprietary" on top of .java files. Maybe they forgot to update those when they placed it on github?
- haifeng 12y agoIt is Apache 2.0. The library has been developed for several years as close source. But now it is Apache 2.0 although the source files need to be updated. Don't worry.
- haddr 12y agoCool stuff! How does it differ from other java ML libraries (like Weka)?
- kelseyfrancis 12y agoTechnical merits aside, Weka is GPL-licensed (commercial licenses available), and this library Apache 2.0.
- moondowner 12y agoA little tip to the authors, migrate the project form an Eclipse-based one to Maven or Gradle. Not everyone uses Eclipse and it's more friendlier that way.
- haifeng 12y agoMaven pom.xml files are added. Thanks!
- swah 12y agoSurprised this was written in Java - I thought Lisp did well in this area and Clojure is right there on the JVM.
- fiatmoney 12y agoIt's easier to achieve a high level of performance in raw, idiomatic Java than in Clojure. Eg, it's really important to be able to mutate arrays directly and use primitives with no boxing. You can do that kind of thing in Clojure, but it just ends up looking like Java with parens instead of squirrely brackets and more explicit casting. The proper use for Clojure is to express higher-order application logic more concisely, not to implement high performance math algos.
- dmichulke 12y agoWell, there are "high-performance things" I like more in Clojure, for example: - areduce / amap - Uncleaned data is often of Object type (due to missing or invalid values) upon which one can apply the complete core.reducer functions without intermediate representations. In Java this would be horrible. Still, you're right in the sense that Clojure execution isn't fast than Java's, just its development.
- aaron_m04 12y agoTransients (mutable Clojure collection types) are also high performance.
- billrobertson42 12y agoI agree with fiatmoney, and would also like to add that if you implement it in simple Java w/few dependencies, it makes it easier to use the library in many contexts. e.g. other JVM languages.
- haifeng 12y agoYes, we don't want it depending on third parties.
- sixwing 12y agoI'd be curious as to how this compares to https://github.com/SmileWide/main https://github.com/SmileWide/main, in terms of maturity and ability to run in a distributed mode.
- jkot 12y agoRescale image thumbmails on github readme. It takes forever to load and costs fortune on mobile internet.
- curiously 12y agowould be great if there was a similar library for python
- mikkom 12y agoYou mean something like scikit-learn? http://scikit-learn.org/stable/ http://scikit-learn.org/stable/
- esro360 12y agoAwesome, awesome, awesome
- luddypants 12y agoI find it somewhat funny that the term "machine intelligence" seems like it was coined in part to distinguish it from "machine learning", but, while this project is clearly part of the latter, they have chosen a moniker using "machine intelligence". Obviously no one owns the word, but it just seems people love using new buzz words and efforts to distinguish these things are quickly muddied.
- haifeng 12y agoThe project was started five years ago. It is not really about buzz words.
- cafebeen 12y agoThis is an amazing, thank you for sharing!