Example #1
0
notev = [0, 1, 3, 4]

currd = {'D': random.choice(bchoice),
         'I': random.choice(bchoice),
         'S': 0,
         'G': random.choice(tchoice),
         'L': random.choice(bchoice)}
iterations = int(n/4)
samplesgood = 0
samples = 0


for i in range(0, iterations):
    for ne in notev:
        # get markov blanket
        mb = model.get_markov_blanket(order[ne])
        # get evidence of markov balnker
        evid = dict((var, currd[var]) for var in mb)
        # query 
        que = infer.query([order[ne]], evidence=evid, show_progress=False)     
        # random number
        ran = random.random()
        res = 0
        # sort query result
        tmp = [(elem, ind) for ind, elem in enumerate(que.values)]
        tmp.sort(reverse=True)
        # understand new value for variabile
        acc = 0
        for elem in tmp:
            acc += elem[0]
            if ran < acc:
Example #2
0
 def test_markov_blanet(self):
     G = BayesianModel([('x', 'y'), ('z', 'y'), ('y', 'w'), ('y', 'v'), ('u', 'w'), 
                        ('s', 'v'), ('w', 't'), ('w', 'm'), ('v', 'n'), ('v', 'q')])
     self.assertEqual(set(G.get_markov_blanket('y')), set(['s', 'w', 'x', 'u', 'z', 'v']))