Skip to main content

Simple python package to sanitize in a standard way ML-related labels.

Project description

Travis CI build SonarCloud Quality SonarCloud Maintainability Codacy Maintainability Maintainability Pypi project Pypi total project downloads

Simple python package to sanitize in a standard way ML-related labels.

How do I install this package?

As usual, just download it using pip:

pip install sanitize_ml_labels

Tests Coverage

Since some software handling coverages sometime get slightly different results, here’s three of them:

Coveralls Coverage SonarCloud Coverage Code Climate Coverate

Why do I need this?

So you have some kind of plot and you have some ML-related labels. Since I always rename and sanitize them the same way, I have prepared this package to always sanitize them in a standard fashion.

Usage examples

Here you have a couple of common examples: you have a set of metrics to normalize or a set of model names to normalize.

from sanitize_ml_labels import sanitize_ml_labels

# Example for metrics
labels = [
    "acc",
    "loss",
    "auroc",
    "lr"
]

sanitize_ml_labels(labels)

# ["Accuracy", "Loss", "AUROC", "Learning rate"]

# Example for models
labels = [
    "vanilla mlp",
    "vanilla cnn",
    "vanilla ffnn",
    "vanilla perceptron"
]

sanitize_ml_labels(labels)

# ["MLP", "CNN", "FFNN", "Perceptron"]

Extra utilities

Since I always use metric sanitization alongside axis normalization, it is usefull to know which axis should be maxed between zero and one to avoid any visualization bias to the metrics.

For this reason I have created the method is_normalized_metric, which after having normalized the given metric validates it against known normalized metrics (metrics between 0 and 1, is there another name? I coldn’t figure out a better one).

from sanitize_ml_labels import is_normalized_metric

is_normalized_metric("MSE") # False
is_normalized_metric("acc") # True
is_normalized_metric("accuracy") # True
is_normalized_metric("AUROC") # True
is_normalized_metric("auprc") # True

New features and issues

As always, for new features and issues you can either open a new issue and pull request. A pull request will always be the quicker way, but I’ll look into the issues when I get the time.

Project details


Download files

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

Files for sanitize-ml-labels, version 1.0.6
Filename, size File type Python version Upload date Hashes
Filename, size sanitize_ml_labels-1.0.6.tar.gz (5.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page