Clojurians,
Good morning from (again) snowy Boulder! Following lots of discussion and interactions with many people around the clojure and ML worlds, TechAscent has built a foundation with the intention to allow the average clojurist to do high quality machine learning of the type they are likely to encounter in their day to day work. This isn't a deep learning framework; I already tried that in a bespoke fashion that and I think the mxnet bindings are great. This is specifically for the use case where you have data coming in from multiple data sources and you need to do the cleaning, processing, and feature augmentation before running some set of simple models. Then gridsearch across a range of models and go about your business from there. Think more small to medium sized datomic databases and such. Everyone has a little data before they have a lot and I think this scale captures a far wider range of possible use cases. The foundation comes in two parts. The first is the ETL library: https://github.com/techascent/tech.ml.dataset This library is a column-store based design sitting on top of tablesaw. The clojure ml group profiled lots of different libraries and we found that tablesaw works great. The ETL language is composed of three sub languages. First a set-invariant column selection language. Second, a minimal functional math language along the lines of APL or J. Finally a pipeline concept that allows you to describe an ETL pipeline in data with the idea that you create the pipeline and run it on training data and then it records context. Then during inference later you just used the saved pipeline from the first operation. This is the second large ETL system I have worked on; the first was one named Alteryx. The next library is a general ML framework: https://github.com/techascent/tech.ml The library has bindings to xgboost, smile, and libsvm. Libsvm doesn't get the credit it deserves, btw, as it works extremely well on small-n problems. xgboost works well on everything and smile contains lots of different types of models that may or may not work well depending on the problem as well as clustering and a lot of other machine-learny type things. For this case, my interest wasn't a clear exposition of all the different things smile can do as it was more just to get a wide enough domain of different model generators to be effective. For a more thorough binding to smile, check out: https://github.com/generateme/fastmath I built a clojure version a very involved kaggle problem example using clojupyter and oz as a proof of concept: https://github.com/cnuernber/ames-house-prices/blob/master/ames-housing-prices-clojure.md Enjoy :-). Complements of the TechAscent Crew & Clojure ML Working Group -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.