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
、何が欠けていますか?