Skip to content
/ kodama Public

Fast hierarchical agglomerative clustering in Rust.

License

Notifications You must be signed in to change notification settings

diffeo/kodama

Repository files navigation

kodama

This crate provides a fast implementation of agglomerative hierarchical clustering.

Linux build status

This library is released under the MIT license.

The ideas and implementation in this crate are heavily based on the work of Daniel Müllner, and in particular, his 2011 paper, Modern hierarchical, agglomerative clustering algorithms. Parts of the implementation have also been inspired by his C++ library, fastcluster. Müllner's work, in turn, is based on the hierarchical clustering facilities provided by MATLAB and SciPy.

The runtime performance of this library is on par with Müllner's fastcluster implementation.

For a more detailed example of how to use hierarchical clustering, see the example in the API documentation.

Documentation

https://docs.rs/kodama

Usage

Add this to your Cargo.toml:

[dependencies]
kodama = "0.3"

and this to your crate root:

extern crate kodama;

C API and Go bindings

This repository includes kodama-capi, which provides a C interface to hierarchical clustering.

This repository also includes Go FFI bindings via cgo to the aforementioned C API. Documentation for the Go library can be found at godoc.org/github.com/diffeo/kodama/go-kodama.