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 .