Байесовские сети в Scala

Я ищу библиотеку для создания байесовских сетей и выполнения обучения и вывода на них в Scala (или Java, в случае отсутствия лучшего решения). Библиотека должна активно поддерживаться, быть производительной, желательно простой, определенно хорошо документированной, если ее использование не является действительно простым. Бесплатные, открытые и коммерческие альтернативы приемлемы, но для коммерческих решений требуется бесплатная пробная версия.

Идеальным решением было бы то, что в мире .NET представляет собой Infer.NET от Microsoft Research, но более документированное.

Заранее спасибо!


person em70    schedule 02.02.2012    source источник
comment
Это может быть полезно: -net/   -  person ŁukaszBachman    schedule 02.02.2012
comment
а вот прямая ссылка на weka (также упоминается в ответе Вас направил Лукаш)   -  person wmz    schedule 02.02.2012
comment
@ŁukaszBachman: Спасибо, но я уже просмотрел JavaBayes и нашел его старым и неэффективным, хотя и достаточно задокументированным...   -  person em70    schedule 02.02.2012


Ответы (5)


FACTORIE — молодой проект, но он отвечает всем требованиям и реализован на Scala:

FACTORIE — это набор инструментов для развертывания вероятностного моделирования, реализованный в виде программной библиотеки на Scala. Он предоставляет своим пользователям краткий язык для создания графиков реляционных факторов, оценки параметров и выполнения выводов.

Он разработан Эндрю МакКаллумом и его лабораторией в Университете Массачусетса, которые также несут ответственность за чрезвычайно полезную набор инструментов машинного обучения MALLET.

person Travis Brown    schedule 02.02.2012
comment
FACTORIE может быть замечательным, но это не просто - по крайней мере, для меня - и документация очень не соответствует требованиям ... +1 в любом случае - person em70; 02.02.2012
comment
Поддерживает ли FACTORIE байесовскую сеть «из коробки»? - person Erik Kaplun; 18.02.2014
comment
Я провел последние 24 часа на FACTORIE и почти готов запустить алгоритм наивного байеса (я думаю). Мне очень нравится организация, но документации СИЛЬНО не хватает, как упомянул @em70 - person Ritwik Bose; 01.04.2015

Вы можете заглянуть в SMILE. Это бесплатно и имеет Java API. Другими бесплатными вариантами на Java являются UnBBayes и SamIam.

  • #P2# <блочная цитата> #P3#
  • #P4# <блочная цитата> #P5#
  • #P6# <блочная цитата> #P7#

Чистый Scala и бесплатные варианты — это FACTORIE (уже упомянутый) и Figaro. Но Фигаро в настоящее время не хватает учебной части.

  • #P9# <блочная цитата> #P10#
person Sasha Kazachonak    schedule 06.07.2012

Возможно, Банджо отвечает всем требованиям? Я не уверен, насколько активно он разрабатывается, но я знаю, что он существует уже как минимум несколько лет... (сам никогда им не пользовался).

Banjo: вывод байесовской сети с объектами Java

person Steve Lianoglou    schedule 02.02.2012

Некоторые альтернативы Java для Infer.NET были представлены как ответы на этот вопрос. Итак, я думаю, что в основном вы спрашиваете либо о продолжении этого вопроса (он был задан во второй половине 2010 года) в отношении Java, либо о решении, полностью основанном на Scala.

person carlosdc    schedule 07.02.2012

На данный момент существует библиотека Scala:

https://github.com/danielkorzekwa/bayes-scala

person Elmar Weber    schedule 03.01.2015