首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala中的贝叶斯网络

Scala中的贝叶斯网络
EN

Stack Overflow用户
提问于 2012-02-02 20:46:47
回答 5查看 3.3K关注 0票数 9

我正在寻找一个库来创建贝叶斯网络,并在Scala (或Java,如果缺乏更好的解决方案)中对它们执行学习和推理。库应该是积极维护的,性能良好的,最好是简单的,一定要有良好的文档记录,除非用法真的很简单。免费、开源和商业替代方案都可以,但对于商业解决方案,则需要免费试用。

理想的解决方案应该等同于微软研究院在.NET世界中的Infer.NET,但有更多的文档。

提前感谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-02 21:34:21

FACTORIE是一个年轻的项目,但它符合要求,并且是用Scala实现的:

Scala是一个用于可部署概率建模的工具包,在

中以软件库的形式实现。它为用户提供了一种简洁的语言,用于创建关系因子图、估计参数和执行推理。

它是由Andrew McCallum和他在UMass的实验室开发的,他们也是非常有用的MALLET machine learning toolkit的负责人。

票数 9
EN

Stack Overflow用户

发布于 2012-07-07 02:26:12

你可能会想看看微笑。它是免费的,并且有Java API。Java语言中的其他免费选项是UnBBayes和SamIam。

  • SMILE

(结构建模、推理和学习引擎)是一个完全可移植的C++类库,它实现了图形化决策理论方法,例如贝叶斯网络和影响图,可以直接包含在智能系统中。

  • UnBBayes

UnBBayes是一个用Java编写的概率网络框架。它同时具有GUI和API,具有推理、采样、学习和评估功能。它支持BN,ID,MSBN,OOBN,HBN,MEBN/PR-OWL,PRM,结构,参数和增量学习。

  • SamIam

Samiam包括两个主要组件:图形用户界面和推理引擎。图形界面允许用户开发贝叶斯网络模型,并以各种格式保存它们。推理引擎支持许多任务,包括:经典推理;参数估计;时空权衡;灵敏度分析;以及基于MAP和MPE的解释生成。

纯Scala和免费选项是FACTORIE (已经提到)和Figaro。但Figaro目前缺乏学习部分。

Figaro模型是Scala编程语言中的数据结构,它可以与Java互操作,并且可以在任何Scala或Java程序中直接构造、操作和使用。

票数 4
EN

Stack Overflow用户

发布于 2012-02-03 00:13:38

也许Banjo符合这个条件?我不确定它的开发有多活跃,但我知道它至少已经存在了几年……(我自己从来没有用过它)。

Banjo: Bayesian Network Inference with Java Objects

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9112557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档