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
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
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