Example #1
0
 def learn(self, data):
     print("Learning")
     if self.model is None:
         self.model = RootNode(learn(data))
     else:
         augment_spn(self.model.children[0], data,
                     self.model.children[0].scope)
         #self.model.evaluate(data, mpe=False)
         #self.model.hard_em(data)
     print(np.mean(self.model.evaluate(data, mpe=False)))
Example #2
0
class LearnSPN:
    def __init__(self):
        self.model = None

    def learn(self, data):
        self.model = RootNode(learn(data))

    def evaluate(self, obs, mpe=False):
        assert self.model, "You gotta run learn on some data at least once!!"
        return self.model.evaluate(obs, mpe=mpe)
Example #3
0
class IncrementalLearnSPN(LearnSPN):
    def __init__(self):
        super(IncrementalLearnSPN, self).__init__()

    def learn(self, data):
        print("Learning")
        if self.model is None:
            self.model = RootNode(learn(data))
        else:
            augment_spn(self.model.children[0], data,
                        self.model.children[0].scope)
            #self.model.evaluate(data, mpe=False)
            #self.model.hard_em(data)
        print(np.mean(self.model.evaluate(data, mpe=False)))
Example #4
0
 def learn(self, data):
     self.model = RootNode(learn(data))