​causal-learn:基于Python的因果发现算法平台

共 1973字,需浏览 4分钟

 ·

2021-11-30 03:32

来源:集智俱乐部

本文约1100字,建议阅读5分钟

本文为你介绍基于Python的统一算法基本框架。



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

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


Causal-learn支持:


  • Constrained-based causal discovery methods.
  • Score-based causal discovery methods.
  • Causal discovery methods based on constrained functional causal models.
  • Hidden causal representation learning.
  • Granger causal analysis.
  • 多个独立的基础模块,比如独立性测试,评分函数,图操作,评测指标。
  • 更多最新的因果发现算法,如gradient-based methods等。


Causal-learn团队正在积极维护与开发算法平台,保持版本稳定,并持续更新最新的因果发现算法与实用功能。


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
建议反馈: 郑雨嘉:yujiazh@cmu.edu,陈薇:chenweiDelight@gmail.com

平台介绍

1. 基于Python的统一算法框架


Causal-learn在设计上尽量的将代码模块化,简化了研究者的开发难度。同时通过提供简洁高效的代码接口,让不同领域的用户都能够轻松地应用因果发现算法。整体平台全部基于Python,用户无需再依赖于Java或R等环境,充分享受Python开发与使用的便利性。

同时,causal-learn提供了简单的安装方式,一行代码就能够将最经典、最全面的因果推荐算法部署在用户的项目中。

2. 经典算法的官方实现


Causal-learn包含了许多经典算法及其扩展的官方实现,如PC,PNL, LiNGAM等。这些因果发现领域“里程碑式”的算法的主要作者,都在causal-learn的领导团队中为平台建设指引方向。因此,causal-learn提供了最‘官方’的算法实现。用户通过熟悉相关代码,能够更快的掌握因果发现的经典算法,从而把握领域的整体发展,为相关研究提供启发。

3. 持续更新,掌握领域前沿


Causal-learn有着一个稳定的开发与维护团队,其背后的科研团队也持续的在因果发现领域输出最新的工作。因此,用户通过关注causal-learn算法平台,能够时刻掌握领域最新进展,第一时间将最新工作应用在不同的科研与生产项目中。


简单上手

1. 安装


Causal-learn提供Pip作为安装方式,用户可以通过简单的一行命令来进行安装使用:


pip install causal-learn


2. 因果发现,只需一步

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

G = pc(data, alpha, indep_test, stable, uc_rule, uc_priority, mvpc, correction_name, background_knowledge)


3. 可视化与评测


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


G.to_nx_graph()G.draw_nx_graph(skel=False)

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

编辑:黄继彦

浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报