pytorch-lattice

A PyTorch Implementation Of Lattice Modeling Techniques


Keywords
constrained-optimization, explainable-ai, explainable-ml, interpretable-ai, interpretable-ml, shape-constraints
License
MIT
Install
pip install pytorch-lattice==0.2.0

Documentation

Getting Started with PyTorch Lattice

A PyTorch implementation of constrained optimization and modeling techniques

  • Transparent Models: Glassbox models to provide increased interpretability and insights into your ML models.
  • Shape Constraints: Embed domain knowledge directly into the model through feature constraints.
  • Rate Constraints (Coming soon...): Optimize any PyTorch model under a set of constraints on rates (e.g. FPR < 1%). Rates can be calculated both for the entire dataset as well as specific slices.

GitHub stars Documentation GitHub issues Github discussions GitHub license PyPI version PyPI pyversions


Installation

Install PyTorch Lattice and start training and analyzing calibrated models in minutes.

$ pip install pytorch-lattice

Quickstart

Step 1. Import the package

First, import the PyTorch Lattice library:

import pytorch_lattice as pyl

Step 2. Load data and fit a classifier

Load the UCI Statlog (Heart) dataset. Then create a base classifier and fit it to the data. Creating the base classifier requires only the feature names.

X, y = pyl.datasets.heart()
clf = pyl.Classifier(X.columns).fit(X, y)

Step 3. Plot a feature calibrator

Now that you've trained a classifier, you can plot the feature calibrators to better understand how the model is understanding each feature.

pyl.plots.calibrator(clf.model, "thal")

Thal Calibrator

Step 4. What's Next?

  • Check out the Concepts section to dive deeper into the library and the core features that make it powerful, such as calibrators and shape constraints.
  • You can follow along with more detailed walkthroughs to get a better understanding of how to utilize the library to effectively model your data. You can also take a look at code examples in the repo.
  • The API Reference contains full details on all classes, methods, functions, etc.

Related Research

Contributing

PyTorch Lattice welcomes contributions from the community! See the contribution guide for more information on the development workflow. For bugs and feature requests, visit our GitHub Issues and check out our templates.

How To Help

Any and all help is greatly appreciated! Check out our page on how you can help.

Roadmap

Check out the our roadmap to see what's planned. If there's an item that you really want that isn't assigned or in progress, take a stab at it!

Versioning

PyTorch Lattice uses Semantic Versioning.

License

This project is licensed under the terms of the MIT License.