cause2e icon indicating copy to clipboard operation
cause2e copied to clipboard

Replace py-causal by causal-learn?

Open dg46 opened this issue 3 years ago • 2 comments

Causal-learn "is a python package for causal discovery that implements both classical and state-of-the-art causal discovery algorithms, which is a Python translation and extension of Tetrad."

If it provides the same functionality as the (Java wrapper) py-causal library, but with the algorithms actually implemented in Python, this would free cause2e of any Java dependencies. I need to check out the package in more detail to see if it is that easy.

dg46 avatar Nov 12 '21 15:11 dg46

Necessary steps should be:

  • write a new searcher class (analogous to TetradSearcher) that runs the search and communicates the resulting graph to the StructureLearner
  • change the default behaviour of run_search and run_quick_search
  • make dependency on py-causal optional (if users have py-causal installed, they should still be able to use it in cause2e)
  • include dependency on causal-learn in setup and requirements
  • update documentation method for search options
  • update notebooks

dg46 avatar Nov 19 '21 13:11 dg46

Graph translation after search seems easy, but currently I see no possibilty of passing domain knowledge to the search methods from causal-learn. Created an issue: https://github.com/cmu-phil/causal-learn/issues/4

dg46 avatar Nov 19 '21 13:11 dg46