Lace is a Bayesian Tabular inference engine for rust and python designed to facilitate scientific discovery by learning a model of the data instead of a model of a question.
The v0.6.0 release of Lace focuses on the user experience around explainability.
We've changed the way epistemic uncertainty is computed (Jensen-Shannon divergence to Total Variation distance) and added functionality to:
- attribute prediction uncertainty, data anomalousness, and data inconsistency
- determine which anomalies are attributable and which are not
- explain which predictors are important to which predictions and why
- visualize model states
Main page: https://lace.dev
What is Lace?
Lace ingests pseudo-tabular data from which it learns a joint distribution over the table, after which users can ask any number of questions and explore the knowledge in their data with no extra modeling. Lace is both generative and discriminative, which allows users to
- determine which variables are predictive of which others
- predict quantities or compute likelihoods of any number of features conditioned on any number of other features
- identify, quantify, and attribute uncertainty from variance in the data, epistemic uncertainty in the model, and missing features
- generate and manipulate synthetic data
- identify anomalies, errors, and inconsistencies within the data
- determine which records/rows are similar to which others on the whole or given a specific context
- edit, backfill, and append data without retraining