用于庞大数据集的Java贝叶斯推理框架

时间:2013-04-02 10:21:29

标签: java bayesian-networks

请告知Java贝叶斯推理框架:

1. Is open-source
2. Can be used programmatically from Java app.
3. Will be able to process 10 GB data-set running on a single host (node) 
4. NOT Mahout or any other Hadoop-based / distributed frameworks (see 3.)

2 个答案:

答案 0 :(得分:3)

您的数据大小不会成为限制因素,而是您要更新的模型的复杂性。如果它是一个简单朴素的贝叶斯模型,那么这很容易实现。如果你想要更复杂的东西,例如多连接网络,然后模型复杂性将决定您是否可以进行精确推断或是否需要权衡取舍近似算法。

Kevin Murphy最近更新了http://www.cs.ubc.ca/~murphyk/Software/bnsoft.html贝叶斯推理软件的比较。我正在探索的一个开源软件包是libDAI(http://cs.ru.nl/~jorism/libDAI/),它是用C ++编写的,但我认为它可以从Java调用。它支持多种推理方法,包括循环信念传播,这似乎是一种非常好的近似算法。

答案 1 :(得分:1)

也许weka适合你的账单? http://www.cs.waikato.ac.nz/ml/weka/ 它肯定满足要求1,2和4. 3应该可以像weka.core.Instances的自定义实现一样,如果默认的不提供某种“流”的数据,所以不是所有它都需要驻留在内存中 - 暂时没有使用它,所以我不确定。