Je recherche une bibliothèque pour créer des filets de baies et effectuer l'apprentissage et l'inférence sur eux à Scala (ou Java, en cas de manque de meilleure solution). La bibliothèque doit être activement maintenue, performante, de préférence facile, définitivement bien documentée, à moins que l'utilisation soit vraiment simple. Des alternatives gratuites, open-source et commerciale sont correctes, mais pour des solutions commerciales, un essai gratuit est requis. P>
Une solution idéale serait l'équivalent de quoi dans le monde .NET est infer.net par Microsoft Research, mais plus documenté. P>
Merci d'avance! p>
5 Réponses :
Factorie est un jeune projet, mais il convient à la facture et est mis en œuvre à Scala: p>
factorie est une boîte à outils pour la modélisation probabiliste déployable, mis en œuvre comme une bibliothèque logicielle à Scala. Il fournit à ses utilisateurs une langue succincte pour créer des graphiques facteurs relationnels, estimation paramètres et inférence exécutant. p> blockQuote>
Il est développé par Andrew McCallum et son laboratoire à UMASS, qui sont également responsables de Toolkit d'apprentissage de Maillet Machine . P>
Factorie pourrait être génial, mais ce n'est pas simple - du moins pour moi - et la documentation tombe très courte de l'exigence ... +1 De toute façon
Factorie appuie-t-il le réseau bayésien hors de la boîte?
J'ai passé les 24 dernières heures à Factorie et je suis presque prêt à courir un algorithme naïfbayes (je pense). J'aime beaucoup l'organisation mais i> la documentation est gravement i> manquant, car @ EM70 mentionné
Peut-être que Banjo convient à la facture? Je ne suis pas sûr à quel point il est activement développé, mais je sais que cela existe depuis au moins quelques années ... (jamais utilisé moi-même). P>
Certaines alternatives Java à infer.net ont été présentées comme des réponses à Cette question . Donc, je pense essentiellement que vous posiez un suivi à cette question (il a été demandé au cours du second semestre de 2010) en ce qui concerne Java ou une solution entièrement scala. p>
Vous voudrez peut-être examiner le sourire. C'est gratuit et a une API Java. Les autres options gratuites en Java sont Infrayes et Samiam. P>
sourire p>
sourire (modèle de modélisation structurelle, d'inférence et de moteur d'apprentissage) est un complément Bibliothèque portable de classes C ++ mettant en œuvre graphique méthodes décisionnelles-théoriques, telles que les filets bayésiens et l'influence Diagrammes, directement susceptibles d'inclure dans des systèmes intelligents. P> blockQuote> li>
bayes p>
bayes est un cadre réseau probabiliste écrit en Java. Il a à la fois une interface graphique et une API avec inférence, échantillonnage, apprentissage et évaluation. Il soutient BN, ID, MSBN, OOBN, HBN, MEBN / PR-OWL, PRM, Structure, paramètre et apprentissage incrémentiel. P> blockQuote> li>
Samiam P>
Samiam comprend deux composants principaux: une interface utilisateur graphique et un Moteur de raisonnement. L'interface graphique permet aux utilisateurs de développer Bayesian Modèles de réseau et les sauvegardez dans une variété de formats. Le raisonnement Le moteur prend en charge de nombreuses tâches, notamment: une inférence classique; paramètre estimation; comprimés de l'espace temps; analyse de sensibilité; et Explication génération basée sur la carte et MPE. P> blockQuote> li> ul>
Pure Scala et Options gratuites sont Factorie (déjà mentionné) et Figaro. Mais Figaro manque actuellement de partie d'apprentissage. P>
Figaro - modélisation probabiliste P >
Les modèles Figaro sont des structures de données dans le langage de programmation Scala, qui est interopérable avec Java et peut être construit, manipulé, et utilisé directement dans n'importe quel programme Scala ou Java. P> blockQuote> li> ul>
Il y a un scala libé-là ici maintenant: p>
Cela pourrait être utile Stackoverflow.com/questions/5363855/Implement-bayes -Net / ...
et voici un lien direct vers Weka (également mentionné en réponse Łukasz vous a référé à)
@ Łukaszbachman: Merci, mais j'ai déjà regardé Javabayes et je l'ai trouvé vieux et non performant, bien que très documenté ...