py-bbn
py-bbn copied to clipboard
Generated graphs may not be DAG
from pybbn.generator.bbngenerator import generate_multi_bbn, convert_for_exact_inference
from pybbn.sampling.sampling import LogicSampler
bbn = convert_for_exact_inference(*generate_multi_bbn(20, max_iter=5_000))
sampler = LogicSampler(bbn)
print(sampler.nodes)
samples = sampler.get_samples(n_samples=5, seed=37)
print(samples)
Will result in the following.
Traceback (most recent call last):
File "/Users/super/git/summer-camp/web/pyodide/data/generate.py", line 9, in <module>
samples = sampler.get_samples(n_samples=5, seed=37)
File "/opt/anaconda3/lib/python3.9/site-packages/pybbn/sampling/sampling.py", line 138, in get_samples
val = table.get_value(p, sample=sample)
File "/opt/anaconda3/lib/python3.9/site-packages/pybbn/sampling/sampling.py", line 65, in get_value
k = ','.join([f'{i}={sample[i]}' for i in self.parent_ids])
File "/opt/anaconda3/lib/python3.9/site-packages/pybbn/sampling/sampling.py", line 65, in <listcomp>
k = ','.join([f'{i}={sample[i]}' for i in self.parent_ids])
KeyError: 2