Theme | Status |
---|---|
Latest Release | |
Python Version | |
master Branch Build |
|
develop Branch Build |
|
Documentation Build | |
License | |
Code Style |
"A toolkit for causal reasoning with Bayesian Networks."
CausalNex aims to become one of the leading libraries for causal reasoning and "what-if" analysis using Bayesian Networks. It helps to simplify the steps:
- To learn causal structures,
- To allow domain experts to augment the relationships,
- To estimate the effects of potential interventions using data.
CausalNex is built on our collective experience to leverage Bayesian Networks to identify causal relationships in data so that we can develop the right interventions from analytics. We developed CausalNex because:
- We believe leveraging Bayesian Networks is more intuitive to describe causality compared to traditional machine learning methodology that are built on pattern recognition and correlation analysis.
- Causal relationships are more accurate if we can easily encode or augment domain expertise in the graph model.
- We can then use the graph model to assess the impact from changes to underlying features, i.e. counterfactual analysis, and identify the right intervention.
In our experience, a data scientist generally has to use at least 3-4 different open-source libraries before arriving at the final step of finding the right intervention. CausalNex aims to simplify this end-to-end process for causality and counterfactual analysis.
The main features of this library are:
- Use state-of-the-art structure learning methods to understand conditional dependencies between variables
- Allow domain knowledge to augment model relationship
- Build predictive models based on structural relationships
- Fit probability distribution of the Bayesian Networks
- Evaluate model quality with standard statistical checks
- Simplify how causality is understood in Bayesian Networks through visualisation
- Analyse the impact of interventions using Do-calculus
CausalNex is a Python package. To install it, simply run:
pip install causalnex
Since pygraphviz can be difficult to install, esp. on Windows machines, the requirement is optional. If you want to use the causalnex native plotting tools, you can use
pip install "causalnex[plot]"
Alternatively, you can use the networkx
drawing functionality for visualisations with fewer dependencies.
Use all
for a full installation of dependencies (only the plotting right now):
pip install "causalnex[all]"
See more detailed installation instructions, including how to setup Python virtual environments, in our installation guide and get started with our tutorial.
You can find the documentation for the latest stable release here. It explains:
- An end-to-end tutorial on how to use CausalNex
- The main concepts and methods in using Bayesian Networks for Causal Inference
Note: You can find the notebook and markdown files used to build the docs in
docs/source
.
Yes! We'd love you to join us and help us build CausalNex. Check out our contributing documentation.
We use SemVer for versioning. The best way to upgrade safely is to check our release notes for any notable breaking changes.
You may click "Cite this repository" under the "About" section of this repository to get the citation information in APA and BibTeX formats.
See our LICENSE for more detail.
Do you want to be part of the team that builds CausalNex and other great products at QuantumBlack? If so, you're in luck! QuantumBlack is currently hiring Machine Learning Engineers who love using data to drive their decisions. Take a look at our open positions and see if you're a fit.