【发布时间】:2011-05-27 04:50:19
【问题描述】:
有人知道使用 WEKA API 从数据中学习贝叶斯网络的“正确”程序吗?我在 WEKA 文档中找不到好的说明。
根据文档和每个功能“应该”做什么,我认为这会起作用:
Instances ins = DataSource.read( filename );
ins.setClassIndex(0);
K2 learner = new K2();
MultiNomialBMAEstimator estimator = new MultiNomialBMAEstimator();
estimator.setUseK2Prior(true);
EditableBayesNet bn = new EditableBayesNet( ins );
bn.initStructure();
learner.buildStructure(bn, ins);
estimator.estimateCPTs(bn);
但事实并非如此。我已经尝试过这个和其他变体,并且在 WEKA 代码中的某处不断收到 ArrayIndexOutOfBoundsException 或 NullPointerException,那么我错过了什么?
【问题讨论】:
-
我正在寻找开始使用贝叶斯网络的资源。看看你提到的 WEKA API。
-
WEKA GUI 本身是否使用 API?如果是这样,您可以以此为例。您还可以查看源代码,看看是否有任何意义。
标签: java api weka bayesian-networks