All Projects → metriculous-ml → Metriculous

metriculous-ml / Metriculous

Licence: mit
Measure and visualize machine learning model performance without the usual boilerplate.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Metriculous

Mlj.jl
A Julia machine learning framework
Stars: ✭ 982 (+1283.1%)
Mutual labels:  data-science, statistics, classification, regression
Uci Ml Api
Simple API for UCI Machine Learning Dataset Repository (search, download, analyze)
Stars: ✭ 190 (+167.61%)
Mutual labels:  data-science, statistics, classification, regression
Machine Learning With Python
Practice and tutorial-style notebooks covering wide variety of machine learning techniques
Stars: ✭ 2,197 (+2994.37%)
Mutual labels:  data-science, statistics, classification, regression
Interactive machine learning
IPython widgets, interactive plots, interactive machine learning
Stars: ✭ 140 (+97.18%)
Mutual labels:  data-science, statistics, classification, regression
Data Science Toolkit
Collection of stats, modeling, and data science tools in Python and R.
Stars: ✭ 169 (+138.03%)
Mutual labels:  data-science, statistics, classification, regression
Mlr
Machine Learning in R
Stars: ✭ 1,542 (+2071.83%)
Mutual labels:  data-science, statistics, classification, regression
Openml R
R package to interface with OpenML
Stars: ✭ 81 (+14.08%)
Mutual labels:  data-science, statistics, classification, regression
Smile
Statistical Machine Intelligence & Learning Engine
Stars: ✭ 5,412 (+7522.54%)
Mutual labels:  data-science, statistics, classification, regression
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+1688.73%)
Mutual labels:  data-science, classification, regression
Neuroflow
Artificial Neural Networks for Scala
Stars: ✭ 105 (+47.89%)
Mutual labels:  data-science, classification, regression
Lightautoml
LAMA - automatic model creation framework
Stars: ✭ 196 (+176.06%)
Mutual labels:  data-science, classification, regression
Machine Learning From Scratch
Succinct Machine Learning algorithm implementations from scratch in Python, solving real-world problems (Notebooks and Book). Examples of Logistic Regression, Linear Regression, Decision Trees, K-means clustering, Sentiment Analysis, Recommender Systems, Neural Networks and Reinforcement Learning.
Stars: ✭ 42 (-40.85%)
Mutual labels:  data-science, classification, regression
Php Ml
PHP-ML - Machine Learning library for PHP
Stars: ✭ 7,900 (+11026.76%)
Mutual labels:  data-science, classification, regression
Pycm
Multi-class confusion matrix library in Python
Stars: ✭ 1,076 (+1415.49%)
Mutual labels:  data-science, statistics, classification
data-science-notes
Open-source project hosted at https://makeuseofdata.com to crowdsource a robust collection of notes related to data science (math, visualization, modeling, etc)
Stars: ✭ 52 (-26.76%)
Mutual labels:  statistics, regression, classification
Pycaret
An open-source, low-code machine learning library in Python
Stars: ✭ 4,594 (+6370.42%)
Mutual labels:  data-science, regression, classification
Alink
Alink is the Machine Learning algorithm platform based on Flink, developed by the PAI team of Alibaba computing platform.
Stars: ✭ 2,936 (+4035.21%)
Mutual labels:  statistics, regression, classification
Mlbox
MLBox is a powerful Automated Machine Learning python library.
Stars: ✭ 1,199 (+1588.73%)
Mutual labels:  data-science, classification, regression
Orange3
🍊 📊 💡 Orange: Interactive data analysis
Stars: ✭ 3,152 (+4339.44%)
Mutual labels:  data-science, classification, regression
Mlr3
mlr3: Machine Learning in R - next generation
Stars: ✭ 463 (+552.11%)
Mutual labels:  data-science, classification, regression

Launch Binder Current GitHub Actions build status Checked with mypy PyPI version PyPI - Python Version License MIT Friends with Luminovo.AI

metriculous

Measure, visualize, and compare machine learning model performance without the usual boilerplate. Breaking API improvements to be expected.

Installation

$ pip install metriculous

Or, for the latest unreleased version:

$ pip install git+https://github.com/metriculous-ml/metriculous.git

Comparing Regression Models Binder

Click to see more code

import numpy as np

# Mock the ground truth, a one-dimensional array of floats
ground_truth = np.random.random(300)

# Mock the output of a few models
perfect_model = ground_truth
noisy_model = ground_truth + 0.1 * np.random.randn(*ground_truth.shape)
random_model = np.random.randn(*ground_truth.shape)
zero_model = np.zeros_like(ground_truth)
import metriculous

metriculous.compare_regressors(
    ground_truth=ground_truth,
    model_predictions=[perfect_model, noisy_model, random_model, zero_model],
    model_names=["Perfect Model", "Noisy Model", "Random Model", "Zero Model"],
).save_html("comparison.html").display()

This will save an HTML file with common regression metrics and charts, and if you are working in a Jupyter notebook will display the output right in front of you:

Screenshot of Metriculous Regression Metrics Screenshot of Metriculous Regression Figures

Comparing Classification Models Binder

Click to see more code

import numpy as np


def normalize(array2d: np.ndarray) -> np.ndarray:
    return array2d / array2d.sum(axis=1, keepdims=True)


class_names = ["Cat", "Dog", "Pig"]
num_classes = len(class_names)
num_samples = 500

# Mock ground truth
ground_truth = np.random.choice(range(num_classes), size=num_samples, p=[0.5, 0.4, 0.1])

# Mock model predictions
perfect_model = np.eye(num_classes)[ground_truth]
noisy_model = normalize(
    perfect_model + 2 * np.random.random((num_samples, num_classes))
)
random_model = normalize(np.random.random((num_samples, num_classes)))
import metriculous

metriculous.compare_classifiers(
    ground_truth=ground_truth,
    model_predictions=[perfect_model, noisy_model, random_model],
    model_names=["Perfect Model", "Noisy Model", "Random Model"],
    class_names=class_names,
    one_vs_all_figures=True,
).display()

Screenshot of Metriculous Classification Table

Screenshot of Metriculous Classification Figures

Screenshot of Metriculous Classification Figures

Screenshot of Metriculous Classification Figures

Development

Poetry

This project uses poetry to manage dependencies. Please make sure it is installed for the required python version. Then install the dependencies with poetry install.

Makefile

A Makefile is used to automate common development workflows. Type make or make help to see a list of available commands. Before commiting changes it is recommended to run make format check test.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].