danielkorzekwa / bayes-scala

Bayesian Networks in Scala
Other
205 stars 39 forks source link

Make this available in maven central #12

Closed francisdb closed 9 years ago

francisdb commented 9 years ago

If you want people to use this you better release the project on maven central.

I also suggest a cross-scala0version sbt build for 2.10 and 2.11

this guide should help: http://www.scala-sbt.org/0.13/docs/Using-Sonatype.html or http://www.cakesolutions.net/teamblogs/publishing-artefacts-to-oss-sonatype-nexus-using-sbt-and-travis-ci

danielkorzekwa commented 9 years ago

will do it next week.

francisdb commented 9 years ago

Cool, if you want I can set up the base sbt build?

danielkorzekwa commented 9 years ago

Sure, I was actually thinking about switching the build from maven to sbt, feel free to do as much of the work as you want, I'm on holiday now and will be back on Monday next week.

francisdb commented 9 years ago

see pull request https://github.com/danielkorzekwa/bayes-scala/pull/15

danielkorzekwa commented 9 years ago

Completed

Further work (raise new issues if needed)

Notes: Only bayes-scala for 2.10.4 is built at the moment. Supporting cross scala /cross jdk build and deployment from travis requires some additional work e.g. snaphot deployment to maven repo should be made just for one jdk version and not all java versions configured in .travis.yml file.

francisdb commented 9 years ago

Well, I suppose release builds will be performed manually so those can be crossversion

danielkorzekwa commented 9 years ago

The first release I plan doing manually, later on with sbt-release. Even snapshot could be cross versioned, with some scripting work to sbt and travis I think.

For playing with bayes-scala, the snapshot verion in sonatype shall be sufficient, therefore I'm not going to create release build unless someone actually wants to use bayes-scala in some production deployed application.

francisdb commented 9 years ago

unless someone actually wants to use bayes-scala in some production deployed application

That would be me :-) We are currently evaluating some bayes libs... Was the reason for creating this ticket ;-)

danielkorzekwa commented 9 years ago

:), good, raise a ticket for release built once you are happy with bayes-scala and then I will create it for you!

francisdb commented 9 years ago

Cool, I'll have a go with the snapshot. Do you know how your lib compares to other scala bayes libs, like FACTORIE and Figaro?

danielkorzekwa commented 9 years ago

I started this project, because at that time, three years ago, there was nothing really in java/scala for deterministic inference for discrete and hybrid networks. If Infer.Net was available for commercial use I would probably go for it, I also tried a few other libraries, but there were always some features I was missing.

I had 3 requirements: 1) Implent skill based model with discrete variables, learning latent models with EM 2) Implement skill based model (true skill), hybrid model, expectation propagation, 3) Extend true skill model and build multi skill model (dynamic bayesian networks) and in the end, build infinite skill model (gaussian process)

I tried: SamIam - cool for toy problems, but just discrete networks Bnt - Matlab, discrete and gaussian networks, not java/scala Factorie seemed to be too complicated and focused more on nlp, tokens, etc., poor doc, Figaro at that time wasn't open source I think, and it didn't get my attention Mallet - very good, but just discrete factor graphs Infer.Net - best I've ever seen, not java/scala, a bit weird API Smile - strange API, didn't try it in the end

First I started with building very specific APIs for my needs, e.g. api for cluster graphs + loopy BP, api for factor graphs + EP, api for Gaussian processes, later on I put a high level DSL (examples in README), which makes the details of particular inference algorithms hidden from the user.

Describe your problem your want to solve and I will tell if the current bayes-scala will work.

On 4 March 2015 at 20:14, Francis De Brabandere notifications@github.com wrote:

Cool, I'll have a go with the snapshot. Do you know how your lib compares to other scala bayes libs, like FACTORIE and Figaro?

— Reply to this email directly or view it on GitHub https://github.com/danielkorzekwa/bayes-scala/issues/12#issuecomment-77224847 .

Daniel Korzekwa Machine Learning Engineer priv: https://www.linkedin.com/in/danielkorzekwa http://danmachine.com/ blog: http://blog.danmachine.com

francisdb commented 9 years ago

@danielkorzekwa we're doing pretty basic stuff so the current features should more than suffice

danielkorzekwa commented 9 years ago

do you build discrete or continous/hybrid networks?

On 5 March 2015 at 08:35, Francis De Brabandere notifications@github.com wrote:

@danielkorzekwa https://github.com/danielkorzekwa we're doing pretty basic stuff so the current features should more than suffice

— Reply to this email directly or view it on GitHub https://github.com/danielkorzekwa/bayes-scala/issues/12#issuecomment-77325687 .

Daniel Korzekwa Machine Learning Engineer priv: https://www.linkedin.com/in/danielkorzekwa http://danmachine.com/ blog: http://blog.danmachine.com

francisdb commented 9 years ago

discrete

francisdb commented 9 years ago

maybe we should move this discussion to gitter or something similar?

danielkorzekwa commented 9 years ago

I'm sorry but I can't really chat online, too busy.

francisdb commented 9 years ago

np, thanks for sharing the lib