Skip to content

A fast and simple library for calculating basic statistics written in Rust and Python

License

Notifications You must be signed in to change notification settings

zachcoleman/fast-stats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c32a3e2 · Jul 5, 2023

History

50 Commits
Dec 27, 2022
Jan 28, 2023
Jan 28, 2023
Dec 29, 2022
Jan 28, 2023
Jan 28, 2023
May 29, 2022
Dec 29, 2022
Dec 27, 2022
Jan 28, 2023
May 21, 2022
Jul 5, 2023
Jan 28, 2023
May 27, 2022

Repository files navigation

GitHub Workflow Status (branch) PyPI - Python Version PyPI - Wheel License

fast-stats

fast-stats is a fast and simple library for calculating basic statistics such as: precision, recall, and f1-score. The library also supports the calculation of confusion matrices. For examples, please look at the examples/ folder.

fast-stats is designed and tested against the scikit-learn library and provides formatted results to be a drop-in replacement in most cases. There are both generic functions like fast_stats.precision that provide significant speedup and specialized binary functions such as fast_stats.binary_precision that provide even faster optimal performance for binary data. fast-stats was specifically created to provide a limited alternative to scikit-learn.metrics for calculating statistics quickly on large multi-dimensional arrays or tensors such as those produced by computer vision models.

Benchmarks show approximately:

  • 100x improvement in binary calculations
  • 10x improvement in multiclass calculations
  • 2x improvement in computing confusion matrices
  • 15% speed-up over an equivalent numpy binary calculation

The project was developed using the maturin framework.

See docs here: https://zachcoleman.github.io/fast-stats/

Installation

From PyPI:

pip install fast-stats

Build from source:

maturin build -r -i=path/to/python
pip install .../fast-stats/target/wheels/<whl file name>.whl

Running Tests

Tests are run with pytest.