diff options
author | Cathy Yeh <cathy@driver.xyz> | 2017-12-12 14:12:51 -0800 |
---|---|---|
committer | Cathy Yeh <cathy@driver.xyz> | 2017-12-13 18:45:03 -0800 |
commit | f6ab3e7b918396dee70dc4ff2dc3a1341aaeb97b (patch) | |
tree | b250129f62822a5a0a9a373ca5139409e0d6419f | |
parent | 1826222ed133b33f05fe0290fade25c2bde20729 (diff) | |
download | beliefs-f6ab3e7b918396dee70dc4ff2dc3a1341aaeb97b.tar.gz beliefs-f6ab3e7b918396dee70dc4ff2dc3a1341aaeb97b.tar.bz2 beliefs-f6ab3e7b918396dee70dc4ff2dc3a1341aaeb97b.zip |
TabularCPD inherits from DiscreteFactor
-rw-r--r-- | beliefs/factors/cpd.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/beliefs/factors/cpd.py b/beliefs/factors/cpd.py index a286aaa..9e7191f 100644 --- a/beliefs/factors/cpd.py +++ b/beliefs/factors/cpd.py @@ -1,15 +1,14 @@ import numpy as np +from beliefs.factors.discrete_factor import DiscreteFactor -class TabularCPD: +class TabularCPD(DiscreteFactor): """ Defines the conditional probability table for a discrete variable whose parents are also discrete. - - TODO: have this inherit from DiscreteFactor implementing explicit factor methods """ def __init__(self, variable, variable_card, - parents=[], parents_card=[], values=[]): + parents=[], parents_card=[], values=[], state_names=None): """ Args: variable: int or string @@ -17,16 +16,15 @@ class TabularCPD: parents: optional, list of int and/or strings parents_card: optional, list of int values: optional, 2d list or array + state_names: dictionary (optional), + mapping variables to their states, of format {label_name: ['state1', 'state2']} """ + super().__init__(variables=[variable] + parents, + cardinality=[variable_card] + parents_card, + values=values, + state_names=state_names) self.variable = variable self.parents = parents - self.variables = [variable] + parents - self.cardinality = [variable_card] + parents_card - self._values = np.array(values) - - @property - def values(self): - return self._values def get_values(self): """ |