Skip to main content

Build Status Coverage Status License

Concordia is a part of a suite of open-source machine learning packages that allow organizations to more rapidly develop and deploy machine learning models.

Installation

pip install concordia

Description

Concordia is a tracking and analytics tool for machine learning models running in production.

Using Concordia, you should be able to rapidly have confidence in your shipped ML models.

If everything’s working as expected, you should have quick proof that you’re in a position to scale up this model.

If things are not going according to plan, you should be able to see that rapidly, and have a suite of information to hone in on the root cause of those discrepancies.

Basic Setup

from concordia import Concordia
concord = Concordia()

ml_predictor = load_ml_model()
concord.add_model(model=model, model_id='model123')

Basic Usage

In your training environment

The goal here is to save the features and predictions as you calcate them in your training environment. Then, we can compare these to the features and predictions coming from your live environment. We use the row_ids to match rows across the two environments.

df = load_my_data()
ml_predictor = train_ml_model()

predictions = ml_predictor.predict(df)

concord.add_data_and_predictions(model_id='model123', features=df, predictions=predictions, row_ids=df['my_row_identifier'])

In your live environment

from concordia import load_concordia
concord = load_concordia()

data = get_live_data()

prediction = concord.predict(model_id='model123', features=data, row_id=data['my_row_identifier'])

In your analytics environment

from Concordia import load_concordia
concord = load_concordia()

concord.analyze_prediction_discrepancies(model_id='model123')

concord.analyze_feature_discrepancies(model_id='model123')

Infrastructure Assumptions

Concordia relies on MongoDB and Redis. These can be either local, or in the cloud. You can specify DB credentials and connection options when creating and loading Concordia.

Database Configuration

You can easily specify your own DB connection. You’ll need to do this both when creating the Concordia instance in the first place, as well as when you load_concordia() to get access to that same Concordia instance later.

persistent_db_config = {
    'db': '__concordia_test_env'
    , 'host': 'localhost'
    , 'port': 27017
}

in_memory_db_config = {
    'db': 8
    , 'host': 'localhost'
    , 'port': 6379
}

concord = Concordia(in_memory_db_config=in_memory_db_config, persistent_db_config=persistent_db_config)

# To load this instance of Concordia later, use that same persistent_db_config
concord = load_concordia(persistent_db_config=persistent_db_config)

What does Concordia do, under the hood?

  • It ensures a consistent db schema

  • It ensures a consistent way of saving data (predictions and features), so that data can be matched up and compared later

  • It builds in a suite of analytics tools for analyzing discrepancies

  • All of this happens automatically for each model that you ship Analytics

Metadata

Release files for concordia 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for concordia 0.1.1
File Size Uploaded
concordia-0.1.1.tar.gz 12.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for concordia 0.1.1
File Interpreter ABI Platform
concordia-0.1.1-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 31.5 kB

Release files / concordia-0.1.1.tar.gz

Download URL concordia-0.1.1.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b7f65ee43dbe38718b0702fede8383d321401d3d489d47c8929ef2b5dbd238a8
BLAKE2b-256 checksum
How to use checksums
4a07ceea2b4efa997445d5b2fd32e515505e4d2298b1846c82a39e74ba1eee52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / concordia-0.1.1-py2.py3-none-any.whl

Download URL concordia-0.1.1-py2.py3-none-any.whl
Size 19.2 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
c9309a95cb3944cfe4ece2d281fc750de6cab6e6b5b016cac8674c80f39319f3
BLAKE2b-256 checksum
How to use checksums
0b0c7a8a04dde866f4a78dbd61beaee793f468b34965fdb80a95a9303684c828
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page