因果发现工具 | causal-learn介绍

Causal-learn,由CMU张坤老师主导,多个团队(CMU因果研究团队、DMIR蔡瑞初老师团队、宫明明老师团队和Shohei Shimizu老师团队)联合开发出品的因果发现算法平台。

Causal-learn用Python实现了CMU开发的基于Java的Tetrad因果发现平台,并进一步加入新的算法和功能。其中包含了因果发现的经典算法与API,并且提供了模块化的代码,以方便研究者实现自己的算法。Causal-learn所有模块均基于Python实现,从而避免了传统因果发现库对R/Java的依赖,为Python开发者提供便利。

先列一下库的相关链接:
GitHub: https://github.com/cmu-phil/causal-learn
文档: https://causal-learn.readthedocs.io/en/latest/
简单使用案例https://github.com/cmu-phil/causal-learn/tree/main/tests

安装causal-learn

可以通过pip来实现

pip install causal-learn

开始使用causal-learn

causal-learn支持:

  • 基于约束的因果发现方法(Constrained-based causal discovery methods): PC、FCI、CD-NOD算法等;
  • 基于评分的因果发现方法(Score-based causal discovery methods): 包含BIC、BDeu、generalized score等评分的GES算法;
  • 基于函数因果模型的因果发现方法(Functional causal models-based causal discovery methods): LiNGAM及其拓展方法、ANM、PNL等;
  • 隐因果表征学习方法(Hidden causal representation learning):GIN方法;
  • 格兰杰因果分析(Granger causal analysis);
  • 多个独立的基础模块,比如独立性测试,评分函数,图操作,评测指标;
  • 更多最新的因果发现算法,如gradient-based methods等。

causal-learn为所有模型都提供了简单易用的接口,用户可以通过一行代码在自己的数据上进行因果发现:

pc(data, alpha, indep_test, stable, uc_rule, uc_priority, mvpc, correction_name, background_knowledge, verbose, show_progress)

可视化结果与评测

在算法运行结束后,用户可以查看生成的因果图,并通过多种评测指标来与基准图进行对比:

pyd = GraphUtils.to_pydot(G)
pyd.write_png('test.png')

Causal-learn团队正在积极维护与开发算法平台,并持续更新最新的因果发现算法。欢迎大家关注以及提供宝贵意见!如果有问题或者建议,请联系我们。

建议与反馈: Yujia Zheng:yujiazh@cmu.edu,Wei Chen:chenweiDelight@gmail.com

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值