Как узнать байесовскую сеть (структура + параметры) с помощью WEKA API? - PullRequest
7 голосов
/ 26 мая 2011

Кто-нибудь знает "правильную" процедуру для изучения байесовской сети на основе данных с использованием WEKA API?Я не могу найти хорошие инструкции в документации WEKA.

Исходя из документации и того, что каждая функция «должна» делать, я подумал, что это будет работать:не делает.Я пробовал этот и другие варианты, и я продолжаю получать ArrayIndexOutOfBoundsException или NullPointerException где-то внутри кода WEKA, так чего мне не хватает?

1 Ответ

5 голосов
/ 27 мая 2011

Это работает для меня. Я пробовал со следующим набором данных:

@relation test

@attribute x {0,1}
@attribute y {0,1,2}
@attribute z {0,1}

@data
0,1,0
1,0,1
1,1,1
1,2,1
0,0,0

Позвольте мне упомянуть, что исключения ожидаются, когда целевой атрибут не является номинальным (например, числовым). Байесовские сети работают лучше, когда все ваши атрибуты являются номинальными. Если вы измените целевой атрибут на числовой, вы получите NullPointerException или ArrayIndexOutOfBoundsException. В частности, это исключение выдается в строке:

EditableBayesNet bn = new EditableBayesNet(ins);

Вы должны сначала дискретизировать свой целевой класс.

...