Кто-нибудь знает «правильную» процедуру для изучения байесовской сети на основе данных с использованием 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);
Но это не так. Я пробовал этот и другие варианты и продолжаю получать ArrayIndexOutOfBoundsException
или NullPointerException
где-то внутри кода WEKA, так что мне не хватает?