I've been hanging on to some code I developed about 5-6 years ago when I was in academia. I'm wondering if I should open source it.
It is a native pure lisp Bayesian Network inference engine. It has two types of compilation:
1. 'Standard' Join Tree such as implemented by e.g. Netica circa 2008.
2. Arithmetic Circuits, which was a new research direction at the time.
The arithmetic circuit module is able to compile a Bayesian Network to lisp, C or Java standalone source code. That is, you don't need any libraries at all to perform probabilistic inference.
Luke Hope <rukubi...@gmail.com> writes:
> I've been hanging on to some code I developed about 5-6 years ago when
> I was in academia. I'm wondering if I should open source it.
> It is a native pure lisp Bayesian Network inference engine. It has two
> types of compilation:
> 1. 'Standard' Join Tree such as implemented by e.g. Netica circa 2008.
> 2. Arithmetic Circuits, which was a new research direction at the
> time.
> The arithmetic circuit module is able to compile a Bayesian Network to
> lisp, C or Java standalone source code. That is, you don't need any
> libraries at all to perform probabilistic inference.
Sure. Any well packaged library is always interesting.
- documentation.
- asdf file.
- distributed with quicklisp.
On Thu, 12 Jul 2012 19:55:55 -0700 (PDT), Luke Hope <rukubi...@gmail.com> wrote:
> Hi all, > > I've been hanging on to some code I developed about 5-6
years ago when I was in academia. I'm wondering if I should open
source it. > > It is a native pure lisp Bayesian Network inference
engine. It has two types of compilation: > > 1. 'Standard' Join Tree
such as implemented by e.g. Netica circa 2008. > > 2. Arithmetic
Circuits, which was a new research direction at the time. > > The
arithmetic circuit module is able to compile a Bayesian Network to
lisp, C or Java standalone source code. That is, you don't need any
libraries at all to perform probabilistic inference. > > Just curious.
Great idea! Maybe it can be of use to somebody. Better than
gathering dust on your hard disk (also better for the hard disk :)
On Jul 12, 10:55 pm, Luke Hope <rukubi...@gmail.com> wrote:
> Hi all,
> I've been hanging on to some code I developed about 5-6 years ago when I was in academia. I'm wondering if I should open source it.
Bayesian data analysis seems fashionable now, with new books and
courses, in particular, Kruschke's book with R, and the recent courses
at SEE, Udacity, and Coursera. I'm a data munger by trade, not a
statistician, nevertheless I've audited a couple of these courses and
have bought a couple of books on R, including Kruschke's book.
Much of my job consists of reporting data, and I've gravitated to R
because of its very strong graphical capabilities. I can't use it for
data analysis but I certainly do use it to produce all sorts of
graphical output. A picture really is worth a thousand words.
I would ABSOLUTELY release your code to the public. I think it's a
GREAT idea, and I would encourage you to do so.
That said, I would make sure that you include sample data sets and a
detailed cookbook using your module. If you want to appeal to the
largest possible audience, assume that curiosity rather than need will
attract users. I wouldn't think a tutorial on Bayes' rule is
appropriate, people can find plenty in the public domain in this
regard. I do think a goodly number of examples showing how to use your
code is necessary.
If you've used your code to any extent, you shouldn't have a problem
with the examples. If you've been in academia, you certainly have used
students as a resource to solve problems.
Luke Hope <rukubi...@gmail.com> wrote:
> I've been hanging on to some code I developed about 5-6 years ago when I was
> in academia. I'm wondering if I should open source it.
> I've been hanging on to some code I developed about 5-6 years ago when I was in academia. I'm wondering if I should open source it.
> It is a native pure lisp Bayesian Network inference engine. It has two types of compilation:
> 1. 'Standard' Join Tree such as implemented by e.g. Netica circa 2008.
> 2. Arithmetic Circuits, which was a new research direction at the time.
> The arithmetic circuit module is able to compile a Bayesian Network to lisp, C or Java standalone source code. That is, you don't need any libraries at all to perform probabilistic inference.
> Just curious.
I would be also extermely interested if you were to open source this
> I've been hanging on to some code I developed about 5-6 years
> ago when I was in academia. I'm wondering if I should open
> source it.
> It is a native pure lisp Bayesian Network inference engine. It
> has two types of compilation:
>1. 'Standard' Join Tree such as implemented by e.g. Netica circa 2008.
>2. Arithmetic Circuits, which was a new research direction at the time.
> The arithmetic circuit module is able to compile a Bayesian
> Network to lisp, C or Java standalone source code. That is, you
> don't need any libraries at all to perform probabilistic
> inference.
> Just curious.
Yes.
This gift would be used.
I recommend using a standard free license, either a GPL, or a BSD
license, so as to lower the legal/psychic barrier to
using/hacking.
In <ju7mla$im...@dont-email.me> D Herring <dherr...@at.tentpost.dot.com> writes:
> On 07/18/2012 04:49 PM, Jay Sulzberger wrote:
>> I recommend using a standard free license, either a GPL, or a BSD
>> license, so as to lower the legal/psychic barrier to
>> using/hacking.
Just the opposite. I recommend MIT/X as being one of the
standards. I do not have a sharply defined list, but certainly
most of the various GNU GPLs, most of the various BSD style
licenses, and MIT/X, are all free licenses, well known, widely
used, and so I recommend using one of these. Perhaps there are
other free licenses which are well known and widely used.
One more consideration: compatibility of licenses.
Thanks for the responses. I'll work on tidying it up to release it. As it is 4.5 years old (last real commit was 2007-12-15), it is pre-quicklisp and before I started working as a full time lisp dev. So you can understand the style and documentation are both lacking compared to my standards today.
I want to get it in a 'near-enough' state before release. I couldn't find any other libraries similar, so I will probably lay claim to 'cl-bayesnet' as the project name.
On Thursday, July 19, 2012 6:49:31 AM UTC+10, Jay Sulzberger wrote:
> In <20760e57-a531-4356-baa0-f8e97672a28d@googlegroups.com> Luke Hope <rukubi...@gmail.com> writes:
> > Hi all,
> >
> > I've been hanging on to some code I developed about 5-6 years
> > ago when I was in academia. I'm wondering if I should open
> > source it.
> >
> > It is a native pure lisp Bayesian Network inference engine. It
> > has two types of compilation:
> >
> >1. 'Standard' Join Tree such as implemented by e.g. Netica circa 2008.
> >
> >2. Arithmetic Circuits, which was a new research direction at the time.
> >
> > The arithmetic circuit module is able to compile a Bayesian
> > Network to lisp, C or Java standalone source code. That is, you
> > don't need any libraries at all to perform probabilistic
> > inference.
> >
> > Just curious.
> Yes.
> This gift would be used.
> I recommend using a standard free license, either a GPL, or a BSD
> license, so as to lower the legal/psychic barrier to
> using/hacking.
In <d476636c-52bb-4701-b3f6-b3eaf1c22cca@googlegroups.com> Luke Hope <rukubi...@gmail.com> writes:
> Hi all,
> Thanks for the responses. I'll work on tidying it up to release it. As it i=
> s 4.5 years old (last real commit was 2007-12-15), it is pre-quicklisp and =
> before I started working as a full time lisp dev. So you can understand the=
> style and documentation are both lacking compared to my standards today.
> I want to get it in a 'near-enough' state before release. I couldn't find a=
> ny other libraries similar, so I will probably lay claim to 'cl-bayesnet' a=
> s the project name.
Thanks for the heads up, but note that Naive Bayes (as implemented in that library) is not at all the same as a Bayesian Network. Naive Bayes makes heavy assumptions about variable dependence (hence its Naivety), to make the probability calculations very simple.
You *can* implement a Naive Bayes classifier/model using Bayesian Network modelling, but the limitations of the Naive Bayes model means the vice-versa does not apply.
On Monday, July 23, 2012 2:29:51 AM UTC+10, sds wrote:
> > * Luke Hope <ehxhov...@tznvy.pbz> [2012-07-12 19:55:55 -0700]:
> >
> > I've been hanging on to some code I developed about 5-6 years ago when I
> > was in academia. I'm wondering if I should open source it.
On Friday, 13 July 2012 12:55:55 UTC+10, Luke Hope wrote:
> Hi all,
> I've been hanging on to some code I developed about 5-6 years ago when I was in academia. I'm wondering if I should open source it.
> It is a native pure lisp Bayesian Network inference engine. It has two types of compilation:
> 1. 'Standard' Join Tree such as implemented by e.g. Netica circa 2008.
> 2. Arithmetic Circuits, which was a new research direction at the time.
> The arithmetic circuit module is able to compile a Bayesian Network to lisp, C or Java standalone source code. That is, you don't need any libraries at all to perform probabilistic inference.