Skip to main content

Code for the 'Exposing Critical Causal Structures' project.

Project description

ECCS: Exposing Critical Causal Structures

Welcome to the repository for the ECCS project! You can access the documentation here.

For technical details about the project, you can read our paper.

Table of Contents

  1. Setting up a virtual environment and installing dependencies.

  2. Reproducing our evaluation

  3. Rebuilding the documentation

1. Setting up a virtual environment and installing dependencies

Using a virtual environment is recommended to ensure dependencies are managed correctly. This section will walk you through setting up a virtual environment for this project. Before starting, make sure you have:

  • Python 3 installed on your system
  • Access to the command line/terminal

1.1. Creating the Virtual Environment

First, navigate to the project's root directory in your terminal. Then, create a virtual environment by running:

python3 -m venv eccs-venv

This command creates a new directory eccs-venv in your project where the virtual environment files are stored.

1.2. Activating the Virtual Environment

To activate the virtual environment, use the following command:

On Windows:

.\eccs-venv\Scripts\activate

On macOS and Linux:

source eccs-venv/bin/activate

After activation, your terminal prompt will change to indicate that the virtual environment is active.

1.3. Installing Dependencies

With the virtual environment active, install the project dependencies by running:

pip install -r requirements.txt

1.4. Deactivating the Virtual Environment

When you're done working in the virtual environment, you can deactivate it by running:

deactivate

This command will return you to your system's default Python interpreter.

2. Reproducing our evaluation

Reproducing our evaluation is super easy! Just run the following command from the root of this repository (within the virtual environment you created above):

python3 src/evaluation/iterative_runner.py

An experimental directory will be created under evaluation/, named after the current timestamp <ts>. After the experimental run completes, you will be able to find plots like the ones included in Figure 2 of our paper under evaluation/<ts>/plots/. Note that each experimental run creates new ground truth causal graphs, datasets, and starting causal graphs, so your plots may vary from the results in the paper.

You can edit src/evaluation/iterative_config.yml to adjust any experimental parameters.

NOTE: Running all of the experiments in our evaluation can take several hours, depending on your hardware. You may want to use a tool like tmux to run the above command in the background.

3. Rebuilding the documentation

To rebuild the documentation after editing the code, you can run:

mkdocs gh-deploy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eccs-0.1.2.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

eccs-0.1.2-py3-none-any.whl (42.5 kB view details)

Uploaded Python 3

File details

Details for the file eccs-0.1.2.tar.gz.

File metadata

  • Download URL: eccs-0.1.2.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for eccs-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e77ce6b27b320bfb6126afe6daa00ee83f8a3fcf863a73480f2c1717f36935d3
MD5 8d07955cc220ead2000021b69706b0ff
BLAKE2b-256 76da2748b7376a19b77e0b833e4482336e80e1c37135ffc6a96fdef58b5504e7

See more details on using hashes here.

File details

Details for the file eccs-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: eccs-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 42.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for eccs-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f84481925cd90c91a4b5224b9e4f3c6d737d1869a01301a502ef829d3aedc355
MD5 9b8ab59a6b2f6677ad41e9aa33d71f88
BLAKE2b-256 a81b4920ffa99c8f024b77dfb9072a412ccfb020ce131d29892ad1eb929c498c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page