In [3]:
import sys
sys.path.append('/home/wrwt/Programming/pygraphmodels')

In [4]:
import graphmodels as gm
import numpy as np
import pandas as pd

In [26]:
a = np.random.randint(2, size=1000)
b = np.random.randint(2, size=1000)
c = a + b
data = np.transpose(np.vstack([a, b, c]))
df = pd.DataFrame(data=data, columns=['a', 'b', 'c'])

In [27]:
tf = gm.TableFactor(['a', 'b', 'c'], ['a', 'b', 'c'])

In [28]:
tf.fit(df)


Out[28]:
abcP
0000.259
0010.000
0020.000
0100.000
0110.251
0120.000
1000.000
1010.245
1020.000
1100.000
1110.000
1120.245

In [29]:
tf.marginalize('a', 'b')


Out[29]:
cP
00.259
10.496
20.245

In [ ]: