コード例 #1
0
    def setUp(self):
        from bayesnet import BNet, BVertex, graph
        # create a small BayesNet
        self.G = G = BNet('Test')

        self.a = a = G.add_v(BVertex('a', discrete=False, nvalues=1))
        self.b = b = G.add_v(BVertex('b', discrete=False, nvalues=2))
        self.c = c = G.add_v(BVertex('c', discrete=False, nvalues=1))
        self.d = d = G.add_v(BVertex('d', discrete=True, nvalues=2))
        self.e = e = G.add_v(BVertex('e', discrete=True, nvalues=3))
        self.f = f = G.add_v(BVertex('f', discrete=False, nvalues=1))
        self.g = g = G.add_v(BVertex('g', discrete=False, nvalues=1))

        for ep in [(a, c), (b, c), (d, f), (e, f),
                   (a, g), (b, g), (d, g), (e, g)]:
            G.add_e(graph.DirEdge(len(G.e), *ep))

        #a,b : continuous(1,2), no parents
        #c	 : continuous(3), 2 continuous parents (a,b)
        #d,e : discrete(2,3), no parents
        #f	 : continuous(1), 2 discrete parents (d,e)
        #g	 : continuous(1), 2 discrete parents (d,e) & 2 continuous parents (a,b)

        G.InitDistributions()

        self.ad = ad = a.distribution
        self.bd = bd = b.distribution
        self.cd = cd = c.distribution
        self.fd = fd = f.distribution
        self.gd = gd = g.distribution
コード例 #2
0
    def setUp(self):
        from bayesnet import BNet, BVertex, graph
        # create a small BayesNet
        G = BNet('Water Sprinkler Bayesian Network')

        c,s,r,w = [G.add_v(BVertex(nm, discrete=True, nvalues=nv)) for nm, nv \
                   in zip('c s r w'.split(), [2, 3, 4, 2])]

        for ep in [(c, r), (c, s), (r, w), (s, w)]:
            G.add_e(graph.DirEdge(len(G.e), *ep))

        G.InitDistributions()

        self.G = G
コード例 #3
0
    def setUp(self):
        from bayesnet import BNet, BVertex, graph
        # create a small BayesNet, Water-Sprinkler
        G = BNet('Test')

        a, b, c, d = [G.add_v(BVertex(nm, discrete=True, nvalues=nv)) for \
                      nm, nv in zip('a b c d'.split(), [2, 3, 4, 2])]
        ad, bd, cd, dd = a.distribution, b.distribution, \
                         c.distribution, d.distribution

        # sizes = (2,3,4,2)
        # a has 3 parents, b,c and d
        for ep in [(b, a), (c, a), (d, a)]:
            G.add_e(graph.DirEdge(len(G.e), *ep))

        G.InitDistributions()

        self.G = G
        self.a, self.b, self.c, self.d = a, b, c, d