大家好,作为标题所示,我正在寻找学习和推断贝叶斯网络的库。我已经找到了一些,但希望能够得到推荐。 以下是快速概述的要求: 最好使用Java或Python编写 可以通过代码进行配置(包括网络本身) 必须提供源代码 项目仍在维护中 越强大越好 你推荐哪一个呢?
请看一下Weka。在我所在的地区,这个工具很受欢迎……它是开源的,用Java编写。 这份文档将告诉你有关Weka中贝叶斯网络的内容,摘要如下: 使用各种爬山(K2、B等)和通用(模拟退火、禁忌搜索)算法进行贝叶斯网络结构学习。 实现了局部得分指标:贝叶斯、BDe、MDL、熵、AIC。 实现了全局得分指标:留一交叉验证、k折交叉验证和累积交叉验证。 提供基于条件独立性的因果推断算法。 使用直接估计和贝叶斯模型平均法进行参数估计。 提供图形用户界面,便于检查贝叶斯网络。
所以我给出我的主观答案。从我的经验来看,与统计学相关的所有事情都最好用R解决。我经常看到,在与统计学相关的领域中,R拥有最多的库,并且往往实现了最先进的算法/方法。像我这样的大多数程序员喜欢使用他们已知道的语言,并且学习新的东西是一种权衡,主要因为它耗费时间。因此,如果学习一门新语言是可行的选择,那么在我看来,R是一个不错的选择,甚至是最佳的选择。简要查看与贝叶斯网络和贝叶斯推断相关的R库。Bayesian: 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,很容易从一个库切换到另一个库。因此,可以轻松测试所有可用的库,然后使用最适合的库