Causal discovery made easy.
Project description
[!WARNING] causy is a prototype. Please report any issues and be mindful when using it in production.
causy
causy is a command line tool that allows you to apply causal inference methods like causal discovery and causal effect estimation. You can adjust causal discovery algorithms with easy to use, extend and maintain pipelines. causy is built based on pytorch which allows you to run the algorithms on CPUs as well as GPUs.
causy workspaces allow you to manage your data sets, algorithm adjustments, and (hyper-)parameters for your experiments.
causy UI allows you to look at your resulting graphs in the browser and gain further insights into every step of the algorithms.
You can find the documentation here.
Installation
Currently, we support python 3.11 and 3.12. To install causy run
pip install causy
Usage
Causy can be used with workspaces via CLI or via code.
Workspaces Quickstart
See options for causy workspace
causy workspace --help
Create a new workspace and start the process to configure your pipeline, data loader and experiments interactively. Your input data should be a json file stored in the same directory.
causy workspace init
Add an experiment
causy workspace experiment add your_experiment_name
Update a variable in the experiment
causy workspace experiment update-variable your_experiment_name your_variable_name your_variable_value
Run multiple experiments
causy workspace execute
Compare the graphs of the experiments with different variable values via a matrix plot
causy workspace diff
Compare the graphs in the UI, switch between different experiments and visualize the causal discovery process
causy ui
Usage via Code
Use a default algorithm
from causy.algorithms import PC
from causy.graph_utils import retrieve_edges
model = PC()
model.create_graph_from_data(
[
{"a": 1, "b": 0.3},
{"a": 0.5, "b": 0.2}
]
)
model.create_all_possible_edges()
model.execute_pipeline_steps()
edges = retrieve_edges(model.graph)
for edge in edges:
print(
f"{edge[0].name} -> {edge[1].name}: {model.graph.edges[edge[0]][edge[1]]}"
)
Supported algorithms
Currently, causy supports the following algorithms:
- PC (Peter-Clark)
- PC - the original PC algorithm without any modifications
causy.algorithms.PC
- ParallelPC - a parallelized version of the PC algorithm
causy.algorithms.ParallelPC
- PC - the original PC algorithm without any modifications
Supported pipeline steps
Detailed information about the pipeline steps can be found in the API Documentation.
Dev usage
Setup
We recommend using poetry to manage the dependencies. To install poetry follow the instructions on https://python-poetry.org/docs/#installation.
Install dependencies
poetry install
Execute tests
poetry run python -m unittest
Funded by the Prototype Fund from March 2024 until September 2024
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file causy-0.1.20.tar.gz
.
File metadata
- Download URL: causy-0.1.20.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 451d36d0cfb9aab2f6155553fa94779c5f2514c257c0d461336cd4ab90e7ebc0 |
|
MD5 | cc67d6fbc2a6d5428ff5d0571f5fd3fa |
|
BLAKE2b-256 | 32a5bc47799e81a8f0ff1cdcb3cf2f5f4bb44321ad89d2eb833c2411abbad208 |
File details
Details for the file causy-0.1.20-py3-none-any.whl
.
File metadata
- Download URL: causy-0.1.20-py3-none-any.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7002335e70b1e40b300369ae4089d98021a6b44f2718cd9fa4bb473f5219ac32 |
|
MD5 | 445580a4673c18d27ebccab394126d67 |
|
BLAKE2b-256 | 7b1e2af6669eea24038acc90f789baa5a17f4c2630125c4a9627b6af14cb7fff |