def test_mm(): np.random.seed(0) import distributions N = 100 data = np.zeros(N, dtype=np.float32) MODEL = distributions.conjugate.nich data[::2] = -1 data[1::2] = 1 f = mixmodel.Feature(data, MODEL) f.hps = MODEL.HP(0.0, 1.0, 1.0, 1.0) mm = mixmodel.MixtureModel(N, {'f1' : f}) rng = None # random init grp = {} for i, g in enumerate(np.random.permutation(np.arange(N) % 10)): if g not in grp: grp[g] = mm.create_group(rng) mm.add_entity_to_group(grp[g], i) print mm.score() for i in range(10): gibbs.gibbs_sample(mm, rng) print mm.score() assert_equal(irm.util.count(mm.get_assignments()).values(), [50, 50])
def test_mm(): np.random.seed(0) import distributions N = 100 data = np.zeros(N, dtype=np.float32) MODEL = distributions.conjugate.nich data[::2] = -1 data[1::2] = 1 f = mixmodel.Feature(data, MODEL) f.hps = MODEL.HP(0.0, 1.0, 1.0, 1.0) mm = mixmodel.MixtureModel(N, {'f1': f}) rng = None # random init grp = {} for i, g in enumerate(np.random.permutation(np.arange(N) % 10)): if g not in grp: grp[g] = mm.create_group(rng) mm.add_entity_to_group(grp[g], i) print mm.score() for i in range(10): gibbs.gibbs_sample(mm, rng) print mm.score() assert_equal(irm.util.count(mm.get_assignments()).values(), [50, 50])
def test_format(self): fr = FR(factors) sample = gibbs_sample(fr, 100, 0) self.assertEqual(type(sample), type(('foo', 'barr'))) self.assertEqual(len(sample), 100) for s in sample: self.assertEqual(len(s), 100) for x in s: self.assertEqual(x in [0, 1], True)
def test_format(self): fr = FR(factors) sample = gibbs_sample(fr,100,0) self.assertEqual(type(sample),type(('foo','barr'))) self.assertEqual(len(sample),100) for s in sample: self.assertEqual(len(s),100) for x in s: self.assertEqual(x in [0,1],True)
from gPy.Variables import declare_variable from gPy.Parameters import Factor from gibbs import gibbs_sample from gPy.Models import FR for i in range(10): for j in range(10): declare_variable((i,j),binvals) x=1 y=5 data = [ x, # 0,0 y, # 0,1 y, # 1,0 x # 1,1 ] factors = [] for i in range(10): for j in range(10): factors.append(Factor(((i,j),((i+1)%10,j)),data)) factors.append(Factor(((i,j),(i,(j+1)%10)),data)) fr = FR(factors) sample = gibbs_sample(fr,100,0) cPickle.dump(sample,open(sys.argv[1],'w'))
binvals = (0, 1) from gPy.Variables import declare_variable from gPy.Parameters import Factor from gibbs import gibbs_sample from gPy.Models import FR for i in range(10): for j in range(10): declare_variable((i, j), binvals) x = 1 y = 5 data = [ x, # 0,0 y, # 0,1 y, # 1,0 x # 1,1 ] factors = [] for i in range(10): for j in range(10): factors.append(Factor(((i, j), ((i + 1) % 10, j)), data)) factors.append(Factor(((i, j), (i, (j + 1) % 10)), data)) fr = FR(factors) sample = gibbs_sample(fr, 100, 0) cPickle.dump(sample, open(sys.argv[1], 'w'))