def pheno1_test(modelWh, modelPu): m, obsSet = pheno1_setup(modelWh, modelPu) logPobs = m.calc_fb() print 'logPobs:', logPobs, m.segmentGraph.p_forward(m.logPobsDict) llDict = m.posterior_ll() mixModel = get_mix_model(modelWh, modelPu) for plant in range(20): obsLabel = obsSet.get_subset(plantID=plant) Le = entropy.SampleEstimator(numpy.array(llDict[obsLabel])) LeMix = entropy.sample_Le(obsLabel.get_obs(), mixModel) Ie = Le - LeMix He = entropy.box_entropy(obsLabel.get_obs(), 7) Ip = -Le - He print 'plant %d, Ie > %1.3f, mean = %1.3f\tIp > %1.3f, mean = %1.3f' \ % (plant, Ie.get_bound(), Ie.mean, Ip.get_bound(), Ip.mean) return llDict
def pheno1_test(modelWh, modelPu): m, obsSet = pheno1_setup(modelWh, modelPu) logPobs = m.calc_fb() print 'logPobs:', logPobs, m.segmentGraph.p_forward(m.logPobsDict) llDict = m.posterior_ll() mixModel = get_mix_model(modelWh, modelPu) for plant in range(20): obsLabel = obsSet.get_subset(plantID=plant) Le = entropy.SampleEstimator(numpy.array(llDict[obsLabel])) LeMix = entropy.sample_Le(obsLabel.get_obs(), mixModel) Ie = Le - LeMix He = entropy.box_entropy(obsLabel.get_obs(), 7) Ip = -Le - He print 'plant %d, Ie > %1.3f, mean = %1.3f\tIp > %1.3f, mean = %1.3f' \ % (plant, Ie.get_bound(), Ie.mean, Ip.get_bound(), Ip.mean) return llDict
def calc_entropy(data, m): vec = entropy.box_entropy(data, m) return numpy.average(vec.sample)