Skip to main content

codecov

FastAMI

A Monte Carlo approximation to the adjusted and standardized mutual information for faster clustering comparisons. You can use this package as a drop-in replacement for sklearn.metrics.adjusted_mutual_info_score, when the exact calculation is too slow, i.e. because of large datasets and large numbers of clusters.

Installation

fastami requires Python >=3.8. You can install fastami via pip from PyPI:

pip install fastami

Usage Examples

FastAMI

You can use FastAMI as you would use adjusted_mutual_info_score from scikit-learn:

from fastami import adjusted_mutual_info_mc

labels_true = [0, 0, 1, 1, 2]
labels_pred = [0, 1, 1, 2, 2]

ami, ami_error = adjusted_mutual_info_mc(labels_true, labels_pred)

# Output: AMI = -0.255 +- 0.008
print(f"AMI = {ami:.3f} +- {ami_error:.3f}")

Note that the output may vary a little bit, due to the nature of the Monte Carlo approach. If you would like to ensure reproducible results, use the seed argument. By default, the algorithm terminates when it reaches an accuracy of 0.01. You can adjust this behavior using the accuracy_goal argument.

FastSMI

FastSMI works similarly:

from fastami import standardized_mutual_info_mc

labels_true = [0, 0, 1, 1, 2]
labels_pred = [0, 1, 1, 2, 2]

smi, smi_error = standardized_mutual_info_mc(labels_true, labels_pred)

# Output: SMI = -0.673 +- 0.035
print(f"SMI = {smi:.3f} +- {smi_error:.3f}")

While FastSMI is usually faster than an exact calculation of the SMI, it is still orders of magnitude slower than FastAMI. Since the SMI is not confined to the interval [-1,1] like the AMI, the SMI by default terminates at a given absolute or relative error of at least 0.1, whichever is reached first. You can adjust this behavior using the precision_goal argument.

Citing FastAMI

If you use fastami in your research work, please cite the corresponding paper (will probably be published by March 2023):

Klede et al., (2023). FastAMI - A Monte Carlo Approach to the Adjustment for Chance in Clustering Comparison Metrics. Proceedings of the AAAI Conference on Artificial Intelligence.

Release files for fastami 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastami 0.2.1
File Size Uploaded
fastami-0.2.1.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastami 0.2.1
File Interpreter ABI Platform
fastami-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.5 kB

Release files / fastami-0.2.1.tar.gz

Download URL fastami-0.2.1.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8b7367f835103c9f8bd743487ab99d4b0cfdb167490ad061865c1ccd90cc2737
BLAKE2b-256 checksum
How to use checksums
5e6374be1be0028bdc58b7bc6b483617bc9776672b349848308aab5a5d33bf83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.0 CPython/3.11.2 Linux/5.15.0-1033-azure

Release files / fastami-0.2.1-py3-none-any.whl

Download URL fastami-0.2.1-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f75efbe044071a5a1070650906056081d73b6ee5bc42129ab9ed696de4662453
BLAKE2b-256 checksum
How to use checksums
d1e0eb7f3dcc17e295ea37c8e1e38f168389c9da54fc0645f8428bd39c3868da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.0 CPython/3.11.2 Linux/5.15.0-1033-azure

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page