From ed5514b3d8cce38460be921f9fba74826f2d4e2c Mon Sep 17 00:00:00 2001 From: BuildTools Date: Tue, 14 Sep 2021 00:39:51 -0500 Subject: [PATCH] Weighted Sample changes --- main.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 8f8eba9..a9fe743 100644 --- a/main.py +++ b/main.py @@ -4,10 +4,12 @@ #Noah Schrick - 1492657 import json +import random def main(): bayes_net = import_bayes() print(len(bayes_net)) + print(bayes_net["0"]["prob"][0][1]) #print(is_root("3", bayes_net)) #Import the BN from the json @@ -52,8 +54,28 @@ def likelihood_weighting(X, e, bayes_net, samples): #Returns an event and a weight def weighted_sample(bayes_net, e): w = 1 - #x = get_variable_nodes + sample = {} + #Elements in event x + for node in bayes_net: + #if bayes_net[e]["prob"][node] != None: + if e[node] !=None: + w*= bayes_net[node]["prob"][sample][1] + sample[node] = e[node] + else: + #Random sample + random_sample = random() + sample[node] = #True or False + + #v + #for i in range(len(n)): + +#Given a node in the bayes net and a random sample, determine if it should be +#classified as True or False +def get_bool(node, rand_sample, sample_table, BN): + table = {} + if is_root(node, BN): + table # for