来源:集智俱乐部
本文约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团队正在积极维护与开发算法平台,并持续更新最新的因果发现算法。欢迎大家关注以及提供宝贵意见!如果有问题或者建议,请联系我们。

编辑:黄继彦

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

  1. CORL: 基于变量序和强化学习的因果发现算法

    深度强化学习实验室 官网:http://www.neurondance.com/ 论坛:http://deeprl.neurondance.com/ 来源:诺亚实验室 华为诺亚方舟实验室.西安交通大学 ...

  2. 华为诺亚ICLR 2020满分论文:基于强化学习的因果发现算法

    2019-12-30 13:04:12 人工智能顶会 ICLR 2020 将于明年 4 月 26 日于埃塞俄比亚首都亚的斯亚贝巴举行,不久之前,大会官方公布论文接收结果:在最终提交的 2594 篇论文 ...

  3. python电影推荐算法_基于Python的电影推荐算法

    原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...

  4. 【PLA】基于Python实现的线性代数算法库之斯密特正交化

    [PLA]基于Python实现的线性代数算法库之斯密特正交化 算法包下载链接:https://download.csdn.net/download/qq_42629529/79481514 from ...

  5. python基于什么语言-一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  6. python语言的编程模式_一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  7. python机器视觉教材_基于Python的机器视觉实验教学平台设计

    基于 Python 的机器视觉实验教学平台设计 韩志豪 ; 刘晓英 [期刊名称] <计算机测量与控制> [年 ( 卷 ), 期] 2020(028)003 [摘要] 针对机器视觉领域的学习 ...

  8. 基于python的可视化分析_基于Python 的数据分析与可视化平台研究

    基于 Python 的数据分析与可视化平台研究 宋永生 ; 黄蓉美 ; 王军 [期刊名称] <现代信息科技> [年 ( 卷 ), 期] 2019(003)021 [摘要] 数据分析与可视化 ...

  9. 基于Python技术栈的算法落地踩坑

    背景介绍 在一些业务场景,我们需要把离线训练好的模型以微服务部署线上,如果是简单的使用sklearn pipeline,可以保存为XML格式的pmml供Java调用, 在配置为4 core,8G内存的 ...

最新文章

  1. Oracle 10g 下载地址
  2. Scala特质可以继承Java类及限制特质的使用
  3. MYSQL中用正则筛选一定的数据
  4. 2020潮流海报设计PNG免抠素材
  5. php访问url的四种方式
  6. python 命名管道_Linux 下 Python 读取命名管道的疑惑
  7. B-Tree 索引和 Hash 索引的对照
  8. qt 右键显示设置界面 后台运行_1.1安装Qt
  9. Cocos2d-x特殊节点对象(瓦片地图、粒子系统、视差滚动)概述
  10. jquery.blockUI.2.31.js 弹出层项目介绍
  11. 全球顶级银行资管子公司的启示
  12. SQL语句练习(全)
  13. d3.js学习笔记-10(布局:树状图、集群图捆、捆图)
  14. 4.8 putsgets函数
  15. Java必知必会的问题
  16. JavaScript学习笔记03【基础——对象(RegExp、Global)】
  17. “感受野”的直观理解
  18. 【前端小实战】遮罩层动画效果
  19. 杭州衣服批发市场服饰外贸SOHO族:实战运营
  20. 流式低代码编程,拖拽节点画流程图并运行

热门文章

  1. java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面
  2. 大规模数据库的性能改善方法之一 数据分割
  3. 序列内置方法详解(string/list/tuple)
  4. Mysql中对table的操作问题
  5. 正则匹配:Email 密码强度 身份证 手机号 日期 数字每4个字空一格等
  6. Spring学习(23)--- AOP之Introductions应用
  7. 视频jourk--hadoop2.2.0(第一个2.x的正式版本)框架介绍:笔记
  8. 如何解决…has been modified since the precompiled header… was built的问题
  9. 转:软件设计漫谈之三:30分钟掌握面向对象类的设计原则
  10. [转]在C#中使用API回调函数的方法