dic1 = {} k = 1 for c in data_l[i]: dic1[str(k)] = str(c) k += 2 print dic1 k = 2 * len(data_l[i]) - 2 dic2 = {} word = '' while k >= 0: maxx = 0 char = '' temp = deepcopy(dic2) for c in CHARS: temp[str(k)] = [c] curr = bn.specificquery(temp, dic1) if curr > maxx: maxx = curr dic2[str(k)] = [c] char = c word = char + word k -= 2 if word == truth_l[i]: count += 1 w.writerow([word, maxx]) print count
# load bayesian network # load bayesian network bn = DiscreteBayesianNetwork(skel, nd) dic1 = {} k = 1 for c in data_l[i]: dic1[str(k)] = str(c) k += 2 maxx = 0 pred = '' for word in all_perms: dic2 = {} k = 0 for c in word: dic2[str(k)] = [c] k += 2 curr = bn.specificquery(dic2,dic1) if curr > maxx: maxx = curr pred = ''.join(word) if pred == truth_l[i]: count += 1 print count print pred w.writerow([pred, maxx])