Giter Club home page Giter Club logo

monitoring-project's Introduction

Model Monitoring Pipeline

version

Overview

The goal of the project is to create a pipeline that can handle a binary classifcation problem and monitor the adequateness of the trained model for subsequent batches of data. To do so, the pipeline controls for two different types of drift:

- Covariate drift: changes in the distribution of covariates used to make the predictions
- Concept drift: changes in the output distribution 

The pipeline also checks the performance of the model over the different datasets.

By default, the pipeline saves all results to Outputs, but there is the possibility to launch a visualization app as well. The app is interactive and allows the user to input new batches and have an overview of the drift metrics.

Setup

To create the required folder structure, run from the project's root directory:

python setup.py

The requirements are in requirements.txt. To install them using pip, run:

pip install -r requirements.txt

Running the pipeline

The first step is to make sure a model is trained on the data. Please make sure that all the configurations are set in the params/conf/conf.json file. Then, the model can be trained by running at the src/ level:

python train_model.py

N.B.: the training data must be placed in the Inputs/ folder.

The pipeline can be run independently from the command line by running the following commands from the root directory:

main.py [-h] [-m {process,evaluate}] --batch-id BATCH_ID

optional arguments:

-m {process,evaluate}, --mode {process,evaluate} Defines the type of monitoring to perform

--batch-id BATCH_ID Id of batch to be parsed

N.B.: the batch data must be placed in the Inputs/Batches folder. And follow the naming template: batch{id}.csv

Another option is to run the pipeline directly from the app, by running:

streamlit run launch_app.py

monitoring-project's People

Contributors

henrique-britoleao avatar camillebeguin avatar julien-bernardo avatar nicolasbdls avatar martha-braun avatar julien-bernardo-artefact avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.