All Projects → tqi2 → Modeleval

tqi2 / Modeleval

Licence: mit
A simple tool for generating useful evaluation metrics and plots for machine learning models

Projects that are alternatives of or similar to Modeleval

Drq
DrQ: Data regularized Q
Stars: ✭ 268 (-2.55%)
Mutual labels:  jupyter-notebook
Mathematical Python
Introduction to Mathematical Computing with Python and Jupyter
Stars: ✭ 273 (-0.73%)
Mutual labels:  jupyter-notebook
Mashinnoye Obucheniye
📚 Специализация «Машинное обучение и анализ данных»
Stars: ✭ 274 (-0.36%)
Mutual labels:  jupyter-notebook
Computation Thru Dynamics
Understanding computation in artificial and biological recurrent networks through the lens of dynamical systems.
Stars: ✭ 273 (-0.73%)
Mutual labels:  jupyter-notebook
Altair Tutorial
Notebooks for the Altair tutorial
Stars: ✭ 273 (-0.73%)
Mutual labels:  jupyter-notebook
Kubeflow Labs
👩‍🔬 Train and Serve TensorFlow Models at Scale with Kubernetes and Kubeflow on Azure
Stars: ✭ 275 (+0%)
Mutual labels:  jupyter-notebook
Numerai
Code from my experiments on Numerai
Stars: ✭ 272 (-1.09%)
Mutual labels:  jupyter-notebook
Hands On Deep Learning Algorithms With Python
Master Deep Learning Algorithms with Extensive Math by Implementing them using TensorFlow
Stars: ✭ 272 (-1.09%)
Mutual labels:  jupyter-notebook
Machine Learning For Algorithmic Trading Second Edition original
Machine Learning for Algorithmic Trading, Second Edition - published by Packt
Stars: ✭ 273 (-0.73%)
Mutual labels:  jupyter-notebook
Nlp Tutorial
Tutorial: Natural Language Processing in Python
Stars: ✭ 274 (-0.36%)
Mutual labels:  jupyter-notebook
Islr Python
An Introduction to Statistical Learning (James, Witten, Hastie, Tibshirani, 2013): Python code
Stars: ✭ 3,344 (+1116%)
Mutual labels:  jupyter-notebook
Enigma Simulator
An educational demonstration of breaking the Enigma machine
Stars: ✭ 273 (-0.73%)
Mutual labels:  jupyter-notebook
Rlquant
Applying Reinforcement Learning in Quantitative Trading
Stars: ✭ 271 (-1.45%)
Mutual labels:  jupyter-notebook
Aws Deepcomposer Samples
Stars: ✭ 273 (-0.73%)
Mutual labels:  jupyter-notebook
Data Science Hacks
Data Science Hacks consists of tips, tricks to help you become a better data scientist. Data science hacks are for all - beginner to advanced. Data science hacks consist of python, jupyter notebook, pandas hacks and so on.
Stars: ✭ 273 (-0.73%)
Mutual labels:  jupyter-notebook
Data Science Is Software
Stars: ✭ 272 (-1.09%)
Mutual labels:  jupyter-notebook
Pytorch Image Classification
Tutorials on how to implement a few key architectures for image classification using PyTorch and TorchVision.
Stars: ✭ 272 (-1.09%)
Mutual labels:  jupyter-notebook
Prometheus Anomaly Detector
A newer more updated version of the prometheus anomaly detector (https://github.com/AICoE/prometheus-anomaly-detector-legacy)
Stars: ✭ 273 (-0.73%)
Mutual labels:  jupyter-notebook
Diou Darknet
Distance-IoU Loss into YOLO v3
Stars: ✭ 275 (+0%)
Mutual labels:  jupyter-notebook
Np Hard Deep Reinforcement Learning
pytorch neural combinatorial optimization
Stars: ✭ 274 (-0.36%)
Mutual labels:  jupyter-notebook

modeleval

A python package that generates useful evaluation metrics and plots for machine learning models, fully compatible scikit-learn, xgboost, LightGBM and catboost API.

By Tian Qi.

This idea was inspired by my internship mentor Kevin Olivier at Ubisoft, when evaluated my first machine learning model (a binary classification problem) in the industry, I found that looking at simple metric like accuracy was not enough. Based on company's business purpose, you may want to look at the recall, precision, F1 and auc as well to check your model's overall performance, also some plots like class-probability distribution, precision_recall vs threshold are useful tools to determine the probability threshold. It is, however, cumbersome to call the sklearn metrics many times and make those plots by hand.

Functionality

There are currently only two evaluator objects, BinaryEvaluator and RegressionEvaluator for evaluating binary classification and regression model respectively. In the future, will integrate more type of model/task.

  • BinaryEvaluator(): Use evaluate method to generate useful metrics and plots for a binary classification model with the given threshold. Metrics include accuracy, recall and precision for two groups, F1 score, roc-auc, confusion matrix. Plots include ROC curve, Precision_Recall vs threshold, class probability distribution and feature importance if it can be obtained from the model. With ThresGridSearch method, you can do a grid search on thresholds and sort result by the metric you specified. Also, the find_best_model method can compare the result of many models and give the model which has the best metric value you want.

  • RegressionEvaluator(): Similar as above but for regression model. Metrics includes Mean Squared Error(MSE), Root Mean Squared Error(RMSE), Mean Absolute Error(MAE), Root Mean Squared Logarithmic Error (RMSLE), Explained Variance Score #r2. Plot has residuals vs predicted values plot.

All evaluators' result can be saved to given path.

Usage

Here is a example to show the basic usage of BinaryEvaluator() and example for RegressionEvaluator().

Installation

You can just install the package via:

$ pip install modeleval

or upgrade to the latest version:

$ pip install -U modeleval
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].