最有效的贝叶斯网络Java API?

最有效的贝叶斯网络Java API?,java,bayesian-networks,Java,Bayesian Networks,我目前正计划在Java应用程序中实现一个贝叶斯网络解决方案,用于推断已知节点网络的结果概率。我一直在网络上寻找可用的Java API,并且遇到了许多这样的API–JavaBayes、netica-J、Jayes、WEKA(?)等等 现在,我正在努力寻找所有这些API在性能、可用性和价格方面的比较,以了解哪一个是最好的。我已经测试了AgenaRisk API,它适合我的需要,但是在承诺使用此产品之前,如果有人了解以下方面,那就太好了: 不同API之间的性能差异(或者可以忽略不计?即,它们都依赖于相

我目前正计划在Java应用程序中实现一个贝叶斯网络解决方案,用于推断已知节点网络的结果概率。我一直在网络上寻找可用的Java API,并且遇到了许多这样的API–JavaBayes、netica-J、Jayes、WEKA(?)等等

现在,我正在努力寻找所有这些API在性能、可用性和价格方面的比较,以了解哪一个是最好的。我已经测试了AgenaRisk API,它适合我的需要,但是在承诺使用此产品之前,如果有人了解以下方面,那就太好了:

  • 不同API之间的性能差异(或者可以忽略不计?即,它们都依赖于相同的基本贝叶斯计算?)
  • AgenaRisk的可靠免费替代品
  • 如果这些解决方案中的一个似乎不再受支持/依赖于非常旧的Java版本(例如,我相信JavaBayes是基于Java1.1的),这有关系吗
  • (加分)贝叶斯网络和贝叶斯网络分类是一回事吗?例如,WEKA宣传自己提供了后者
  • 列表项
  • 在这里寻找一个好的解决方案是从2012年开始的,所以我想知道是否有人会推荐任何已经出现问题的新解决方案,或者是否仍然是一个很好的选择


    谢谢

    对于任何遇到此问题并感兴趣的人:

  • 我会很快自己解决这个问题,并且会更新这个(如果我忘记轻推我)
  • Jayes似乎做了AgenaRisk所做的一切,如果你只是简单地创建一个图形,并希望从中获得一些信念,不包括GUI。此外,您似乎可以选择使用什么算法,这是我在AgenaRisk中没有看到的
  • 为了安全起见,我将坚持目前的解决方案
  • ……是的

  • 我不确定答案是什么是“是”,与…相同,但第4个答案不完全相同:例如,WEKA可以学习贝叶斯网络并将其用于分类,但不能(根据文档)将其用于推理。嗨,nekomatic,这也是我最初的理解,但事实证明,你可以在预定义的贝叶斯网络上单独执行推理,这只是有点尴尬(我已经能够重现使用Jayes或AgenaRisk获得的结果)。为了清理这个过程,我将在WEKA库上构建类。抱歉,如果我误解了一些非常有趣的内容,您是否可以分享更多细节或示例?当然:类
    weka.classifiers.bayes.net.BayesNetGenerator
    将允许您创建节点、添加状态/值、链接它们(使用weka中的圆弧)并设置分布。然后您可以使用
    weka.classifiers.bayes.net.MarginCalculator
    执行推理。希望有帮助!谢谢我需要一段时间才能弄清楚这是否符合我的需要,但这给了我一些继续下去的机会。