Skip to main content

TakeConfusionMatrix is a tool for batched metrics calculations

Project description

TakeConfunsionMatrix

TakeConfusionMatrix is a Python package for batched Machine Learning metrics calculation and is distributed under MIT License.

Goal

The main goal of this package is to enable calculation of Machine Learning metrics for hundreds of milions of results through batch computation.

Features

The current package features are:

  • Confusion Matrix
    • Image output
    • Normalized output
    • Custom labelled output
  • Precision Score
  • Recall Score
  • F1-Score
  • Accuracy Score (Exact Match Ratio)

Installation

Dependencies

TakeConfusionMatrix requires:

  • Python (>= 3.8)
  • Pandas (>= 1.0.4)
  • scikit-learn (>= 0.23.1)

User installation

Install the 64bit version of Python, for instance from https://www.python.org/. Then run:

pip install -U TakeConfusionMatrix

VirutalEnv installation

In order to avoid potential conflicts with other packages it is strongly recommended to use a virtual environment, e.g. python3 virtualenv (see python3 virtualenv documentation) or conda environments.

To do so, install the 64bit version of Python3 if you doesn't have it yet, then run:

python3 -m venv venv
source venv/bin/activate
pip install -U TakeConfusionMatrix

NOTE: Please note that the above instructions assume a Linux-based SO. If you are using another environment, see scikit-learn installation documentation.

Usage

Here the package's features are briefly presented. For more advanced examples, please refer to the methods documentation.

Matrix computation

# Import MetricsComputation class
from take_confusion_matrix import MetricsCalculation

# Initialize class
labels = [0, 1, 2]
mc = MetricsCalculator(labels)

# Compute matrix
y_true = [0, 1, 0, 1]
y_pred = [0, 0, 0, 0]
mc.compute_matrix(y_true, y_pred)

y_true = [0, 2, 0, 2]
y_pred = [0, 0, 0, 0]
mc.compute_matrix(y_true, y_pred)

# Generate matrix
confusion_matrix = mc.generate_confusion_matrix()
print(confusion_matrix)

Normalized matrix

confusion_matrix = mc.generate_confusion_matrix(normalize=True)

Custom labelled matrix

labels = ["class_0", "class_1", "class_2"]
confusion_matrix = mc.generate_confusion_matrix(labels=labels)

Label free matrix

confusion_matrix = mc.generate_confusion_matrix(with_labels=False)

Image matrix

mc.generate_confusion_matrix(as_image=True)

Metrics computation

# Import MetricsComputation class
from take_confusion_matrix import MetricsCalculation

# Initialize class
labels = [0, 1, 2]
mc = MetricsCalculator(labels)

# Compute matrix
y_true = [0, 1, 0, 1]
y_pred = [0, 0, 0, 0]
mc.compute_matrix(y_true, y_pred)

y_true = [0, 2, 0, 2]
y_pred = [0, 0, 0, 0]
mc.compute_matrix(y_true, y_pred)

# Generate metics
metrics = mc.generate_metrics()
print(metrics)

Testing

In order to test package's features, you must download the code and change you current directory (cd) to the package's one. After that, open a terminal inside package's folder and type:

pytest

All tests are stored inside tests folders, meaning that any test folder named tests contains a test set.

Maintainer

Take's D&A Team | analytics.ped@take.net

Author

Cecília Regina Oliveira de Assis | @ceciliassis

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TakeConfusionMatrix-0.0.7.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

TakeConfusionMatrix-0.0.7-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file TakeConfusionMatrix-0.0.7.tar.gz.

File metadata

  • Download URL: TakeConfusionMatrix-0.0.7.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7

File hashes

Hashes for TakeConfusionMatrix-0.0.7.tar.gz
Algorithm Hash digest
SHA256 69da1f7a3a9248d840acceb6566246ae177199ccc1ef071d869d3f3a1365c38b
MD5 2e7f61719c5aafb2e6c255ba9593769b
BLAKE2b-256 772347cf1e28faeb95f6d9183ffbba4eb3196ccb7d6c4241e235786dba675a66

See more details on using hashes here.

File details

Details for the file TakeConfusionMatrix-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: TakeConfusionMatrix-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7

File hashes

Hashes for TakeConfusionMatrix-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 09bfc47ac110dca88e47e0bb04dda2070b564bbd0b71109b7e1cc98c8f7dfea5
MD5 9808d7c4332d0f360dea010e7a5d1c10
BLAKE2b-256 ab58cce823cf71acc9a05b3cdeec142f2118e0dcc42f6d60d516f7f06d93ecdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page