DoDiscover is a Python library for causal discovery (causal structure learning). If one does not have access to a hypothesized causal graph for their situation, then they may use dodiscover to learn causal structure from their data (e.g. in the form of a graph).
See the development version documentation.
Or see stable version documentation
Installation is best done via pip or conda. For developers, they can also install from source using pip. See installation page for full details.
Minimally, dodiscover requires:
* Python (>=3.8)
* numpy
* scipy
* networkx
* pandas
For explicit graph functionality for representing various causal graphs, such as ADMG, or CPDAGs, you will also need:
* pywhy-graphs
* graphs # this is a development version for PRable MixedEdgeGraph to networkx
For explicitly representing causal graphs, we recommend using pywhy-graphs package, but if you have a graph library that adheres to the graph protocols we require, then you can in principle use those graphs.
If you already have a working installation of numpy, scipy and networkx, the easiest way to install dodiscover is using pip:
# doesn't work until we make an official release :p
pip install -U dodiscover
To install the package from github, clone the repository and then cd into the directory. You can then use poetry to install:
poetry install
# for graph functionality
poetry install --extras graph_func
# if you would like an editable install of dodiscover for dev purposes
pip install -e .