Пример #1
0
 def setUp(self):
     self.data = data.fromfile(testfile('testdata10.txt'))
     self.neteval = evaluator.NetworkEvaluator(
         self.data, 
         network.fromdata(self.data), 
         prior.UniformPrior(self.data.variables.size))
     self.neteval.network.edges.add_many([(1,0),(2,0),(3,0)])
Пример #2
0
 def setUp(self):
     a,b,c,d,e = 0,1,2,3,4
     
     self.data = data.fromfile(testfile('testdata9.txt'))
     self.net = network.fromdata(self.data)
     self.net.edges.add_many([(a,c), (b,c), (c,d), (c,e)])
     self.neteval1 = self.neteval_type(self.data, self.net, max_iterations="10*n**2")
Пример #3
0
def fromconfig(data_=None, network_=None, prior_=None):
    """Create an evaluator based on configuration parameters.
    
    This function will return the correct evaluator based on the relevant
    configuration parameters.
    
    """

    data_ = data_ or data.fromconfig()
    network_ = network_ or network.fromdata(data_)
    prior_ = prior_ or prior.fromconfig()

    if data_.missing.any():
        e = _missingdata_evaluators[config.get('evaluator.missingdata_evaluator')]
        return e(data_, network_, prior_)
    else:
        return SmartNetworkEvaluator(data_, network_, prior_)
Пример #4
0
    def test_gibbs_scoring(self):
        # score two nets (correct one and bad one) with missing values.
        # ensure that correct one scores better. (can't check for exact score)

        # score network: {a,b}->c->{d,e}
        score1 = self.neteval1.score_network()

        # score network: {a,b}->{d,e} c
        a,b,c,d,e = 0,1,2,3,4
        net2 = network.fromdata(self.data)
        net2.edges.add_many([(a,d), (a,e), (b,d), (b,e)])
        neteval2 = self.neteval_type(self.data, net2)
        score2 = neteval2.score_network()

        # score1 should be better than score2
        print score1, score2
        assert score1 > score2, "Gibbs sampling can find goodhidden node."
Пример #5
0
 def setUp(self):
     self.data = data.fromfile(testfile('testdata10.txt'))
     self.ne = evaluator.SmartNetworkEvaluator(
         self.data,
         network.fromdata(self.data))
Пример #6
0
 def setUp(self):
     self.data = data.fromfile(testfile('testdata10.txt'))
     self.neteval = evaluator.NetworkEvaluator(self.data, network.fromdata(self.data))
     self.neteval.network.edges.add_many([(1,0), (2,0), (3,0)]) # {1,2,3} --> 0