Tyrion
Small data analysis and machine learning framework for Clojure.
The aim is to provide the tools normally used in data-analysis/machine-learning in Clojure in one place.
It's built on top of common/available Clojure's related libraries like core.matrix and gorilla repl.
Why not broken-down into small libraries?
Because it's easier to start this way, and we're using most of it anyway :)
Leiningen
Status
Test Coverage
Warning!!
Just started.. although useful for some of our daily tasks, yet still far from reliable.
Roadmap
- Basic descriptive and inferential statistics
- Common algorithms for classification and clustering
- Regressions
- Easy web-based visualisations
Already implemented
stats
mode, median, mean, quartiles, inter-quartile-range (iq-range), deviations, covariance, correlation, variance, std-dev
regressions
linear-regression (using OLS)
distance
euclidean, squared-euclidean, chebyshev, chi-square, correlation, cosine, cityblock (manhattan), hamming, jaccard
minkowski, span-norm, weighted-cityblock, weighted-euclidean, weighted-squared-euclidean, weigthed-hamming
view (using gorilla-plot)
list-plot-compose : like (compose & plot) but instead of plots, it takes lists (and fix the range issue).
plot-components : plot x-y of two key-pairs from a given list of maps.
lm-plot : linear-model plot, plot the xy-pairs and its linear-model function (as line).
lm-plot-compose : linear-model plot for several xy-pairs.
Usage
Basic usage for plotting:
- You need to use gorilla-repl and you can read the instruction on its website on how to use it
- Tyrion adds some features in tyrion.view namespace for plotting
License
Copyright © 2015 Zenius Education
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.