fastcluster 1.3.0


pip install fastcluster

  Latest version

Released: May 06, 2025

Project Links

Meta
Author: Daniel Müllner
Requires Python: >=3

Classifiers

Topic
  • Scientific/Engineering :: Information Analysis
  • Scientific/Engineering :: Artificial Intelligence
  • Scientific/Engineering :: Bio-Informatics
  • Scientific/Engineering :: Mathematics

Programming Language
  • Python
  • Python :: 3
  • C++

Operating System
  • OS Independent

License
  • OSI Approved :: BSD License
  • OSI Approved :: GNU General Public License v2 (GPLv2)

Intended Audience
  • Science/Research

Development Status
  • 5 - Production/Stable

This library provides Python functions for hierarchical clustering. It generates hierarchical clusters from distance matrices or from vector data.

This module is intended to replace the functions

    linkage, single, complete, average, weighted, centroid, median, ward

in the module scipy.cluster.hierarchy with the same functionality but much faster algorithms. Moreover, the function linkage_vector provides memory-efficient clustering for vector data.

The interface is very similar to MATLAB's Statistics Toolbox API to make code easier to port from MATLAB to Python/NumPy. The core implementation of this library is in C++ for efficiency.

User manual: fastcluster.pdf.

The “Yule” distance function changed in fastcluster version 1.2.0. This is following a change in SciPy 1.6.3. The “Jaccard” distance function changed in the Python interface of fastcluster version 1.3.0. This is following a change in SciPy 1.15.0. Therefore, the following pairings of SciPy and fastcluster versions are recommended:

SciPy version v Recommended fastcluster version
v < 1.6.3 1.1.28
1.6.3 ≤ v < 1.15.0 1.2.6
v ≥ 1.15.0 latest (≥ 1.3.0)

The fastcluster package is considered stable and will undergo few changes from now on. If some years from now there have not been any updates, this does not necessarily mean that the package is unmaintained but maybe it just was not necessary to correct anything. Of course, please still report potential bugs and incompatibilities to daniel@danifold.net. You may also use my GitHub repository for bug reports, pull requests etc.

Note that PyPI and my GitHub repository host the source code for the Python interface only. The archive with both the R and the Python interface is available on CRAN and the GitHub repository “cran/fastcluster”. Even though I appear as the author also of this second GitHub repository, this is just an automatic, read-only mirror of the CRAN archive, so please do not attempt to report bugs or contact me via this repository.

Installation files for Windows are provided on PyPI and on Christoph Gohlke's web page.

Christoph Dalitz wrote a pure C++ interface to fastcluster.

Reference: Daniel Müllner, fastcluster: Fast Hierarchical, Agglomerative Clustering Routines for R and Python, Journal of Statistical Software, 53 (2013), no. 9, 1–18, https://doi.org/10.18637/jss.v053.i09.

Wheel compatibility matrix

Platform CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13
macosx_10_13_universal2
macosx_10_13_x86_64
macosx_10_9_universal2
macosx_10_9_x86_64
macosx_11_0_arm64
manylinux1_x86_64
manylinux2014_aarch64
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_x86_64
manylinux_2_5_x86_64
win_amd64

Files in release

fastcluster-1.3.0-cp310-cp310-macosx_10_9_universal2.whl (61.4KiB)
fastcluster-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl (38.1KiB)
fastcluster-1.3.0-cp310-cp310-macosx_11_0_arm64.whl (34.0KiB)
fastcluster-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (179.6KiB)
fastcluster-1.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (189.0KiB)
fastcluster-1.3.0-cp310-cp310-win_amd64.whl (36.5KiB)
fastcluster-1.3.0-cp311-cp311-macosx_10_9_universal2.whl (61.4KiB)
fastcluster-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl (38.1KiB)
fastcluster-1.3.0-cp311-cp311-macosx_11_0_arm64.whl (34.0KiB)
fastcluster-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (180.5KiB)
fastcluster-1.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (190.0KiB)
fastcluster-1.3.0-cp311-cp311-win_amd64.whl (36.5KiB)
fastcluster-1.3.0-cp312-cp312-macosx_10_13_universal2.whl (61.3KiB)
fastcluster-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl (38.0KiB)
fastcluster-1.3.0-cp312-cp312-macosx_11_0_arm64.whl (34.0KiB)
fastcluster-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (180.1KiB)
fastcluster-1.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (189.5KiB)
fastcluster-1.3.0-cp312-cp312-win_amd64.whl (36.5KiB)
fastcluster-1.3.0-cp313-cp313-macosx_10_13_universal2.whl (61.3KiB)
fastcluster-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl (38.0KiB)
fastcluster-1.3.0-cp313-cp313-macosx_11_0_arm64.whl (34.0KiB)
fastcluster-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (179.9KiB)
fastcluster-1.3.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (189.4KiB)
fastcluster-1.3.0-cp313-cp313-win_amd64.whl (36.5KiB)
fastcluster-1.3.0.tar.gz (169.0KiB)
Extras: None
Dependencies:
numpy (>=2)