16

你好,数字运算器

正如标题所暗示的,我正在寻找一个用于学习和推理贝叶斯网络的库。我已经找到了一些,但我希望得到推荐。

快速概述的要求:

  • 最好用 Java 或 Python 编写
  • 配置(也是网络本身的)是a)可能的,b)可能通过代码(而不仅仅是通过GUI)。
  • 可用的源代码
  • 项目仍在维护
  • 越强大越好

你推荐哪一个?

4

3 回答 3

11

看看维卡。它在我的森林里很流行……它是开源的,用 Java 编写的。

将从摘要中告诉您有关 Weka 中的贝叶斯网络:

  • 使用各种爬山(K2、B 等)和通用(模拟退火、禁忌搜索)算法对贝叶斯网络进行结构学习。
  • 实施本地分数指标;贝叶斯,BDe,MDL,熵,AIC。
  • 实施全球分数指标;去掉一个 cv、k-fold cv 和累积 cv。
  • 可用的基于条件独立的因果恢复算法。
  • 使用直接估计和贝叶斯模型平均的参数估计。
  • 用于轻松检查贝叶斯网络的 GUI。
于 2010-12-27T13:02:51.370 回答
8

所以在这里我给出我的主观回答。

根据我的经验,与统计相关的所有事情都最好用 R 来解决。我经常看到,在与统计相关的领域,R 拥有最多的库,并且通常实现了最先进的算法/方法。

大多数像我这样的程序员都喜欢使用他们知道的语言,学习新东西是一种权衡,主要是因为它很耗时。

因此,如果学习一门新语言是一个可行的选择,那么 R 是一个不错的选择,在我看来是最好的。

简要了解与贝叶斯网络和贝叶斯干扰相关的 R 库。

贝叶斯:http : //cran.r-project.org/web/views/Bayesian.html

图形模型: http ://cran.r-project.org/web/views/gR.html

机器学习: http ://cran.r-project.org/web/views/MachineLearning.html

R 的主要优点:
- 易于安装库: install.packages("RWeka")
- 所有库的帮助格式和样式都相同
- 如果您了解 R,则可以轻松地从一个库切换到下一个库。所以很容易测试所有可用的库,然后使用最适合的库

于 2011-03-29T22:49:59.983 回答
2

从未使用过它,但也许MALLET库符合要求?

于 2010-12-21T16:58:30.170 回答