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

Causal-learn是一个由CMU等多个团队开发的Python库,用于因果发现研究。它包含了PC、FCI、GES等多种经典算法,并提供模块化代码支持自定义算法。用户可以方便地进行因果发现,如Granger因果分析,还支持可视化和评估。该项目持续更新,提供易于使用的接口,便于Python开发者进行因果关系探索。
部署运行你感兴趣的模型镜像

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

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值