Causal discovery API #518
Replies: 3 comments 3 replies
-
Hey @robertness, thanks for writing all these things up and also iterating on your proposal. I'm curious about a sketch of the implementation of def learn_graph(context: Context, method: Discoverer=SomeDefaultDiscoverer(...)]) -> MixedGraph:
return method.discover(context) If so, and if the reason to provide this, is to provide an easy-to-use function to beginners, I'm wondering how much value it adds. BTW, this could even be achieved by this shorter version: learn_graph = SomeDefaultDiscoverer(...).discover However, let me try and introduce a different angle on this: In the same way that ML libraries don't provide "default nets", I wonder if a different way to go would be to help beginners through the new user guide. Just like e.g. PyTorch introduces beginners to ML by setting up a neural net through a sophisticated set of functions, we could do the same and start the discovery chapter of the DoWhy User Guide by introducing the simplest discovery algorithms first and then move through the different kinds explaining each one's advantages and disadvantages. My main point suggesting this is that I'm not sure, giving a beginner a Coming back to a suggestion that @emrekiciman pointed out recently, where But maybe I'm thinking in the wrong direction here. If so, I'd appreciate further insight. |
Beta Was this translation helpful? Give feedback.
-
thanks for the updates on the API @robertness . I think it is getting there :)
agree, this will be the version of @petergtz would this be a good usecase for including this function? |
Beta Was this translation helpful? Give feedback.
-
I've begun adding issues to the dodiscovery library and will update this page as these abstractions become more clear. |
Beta Was this translation helpful? Give feedback.
-
Discussion thread for the causal discovery API. The proposed API is here.
Beta Was this translation helpful? Give feedback.
All reactions