Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
October 14, 2019 10:15
March 24, 2015 00:24
September 18, 2019 15:13

Java Statistical Analysis Tool

JSAT is a library for quickly getting started with Machine Learning problems. It is developed in my free time, and made available for use under the GPL 3. Part of the library is for self education, as such - all code is self contained. JSAT has no external dependencies, and is pure Java. I also aim to make the library suitably fast for small to medium size problems. As such, much of the code supports parallel execution.

The current master branch of JSAT is going through a larger refactoring as JSAT moves to Java 8. This may cause some examples to break if used against the head version, but they should be fixible with minimal changes.


Ther current release of JSAT is version 0.0.9, and supports Java 6. The current master branch is now Java 8+.

You can download JSAT from maven central, add the below to your pom file


If you want to use the bleeding edge, but don't want to bother building yourself, I recommend you look at It can build a POM repo for you for any specific commit version. Click on "Commits" in the link and then click "get it" for the commit version you want.

If you want to read the javadoc's online, you can find them hosted on my website here.

Why use JSAT?

For research and specialized needs, JSAT has one of the largest collections of algorithms available in any framework. See an incomplete list here.

Additional, there are unfortunately not as many ML tools for Java as there are for other languages. Compared to Weka, JSAT is usually faster.

If you want to use JSAT and the GPL is not something that will work for you, let me know and we can discuss the issue.

See the wiki for more information as well as some examples on how to use JSAT.


Updates to JSAT may be slowed as I begin a PhD program in Computer Science. The project isn’t abandoned! I just have limited free time, and will be balancing my PhD work with a full time job. If you discover more hours in the day, please let me know! Development will be further slowed due to some health issues. I'll continue to try and be prompt on any bug reports and emails, but new features will be a bit slower. Please use the github issues first for contact.


If you use JSAT and find it helpful, citations are appreciated! Please cite the JSAT paper published at JMLR. If you're feeling a little lazy, the bibtex is below:

author = {Raff, Edward},
journal = {Journal of Machine Learning Research},
number = {23},
pages = {1--5},
title = {JSAT: Java Statistical Analysis Tool, a Library for Machine Learning},
url = {},
volume = {18},
year = {2017}