def test_fit(): p1 = Normal(mu=T.constant(0.0), sigma=T.constant(2.0)) p2 = Normal(mu=T.constant(3.0), sigma=T.constant(2.0)) p3 = Exponential(inverse_scale=T.constant(0.5)) g = theano.shared(0.5) m = Mixture(components=[p1, p2, p3], weights=[g, g*g]) X = np.concatenate([st.norm(loc=0.0, scale=2.0).rvs(300, random_state=0), st.norm(loc=3.0, scale=2.0).rvs(100, random_state=1), st.expon(scale=1. / 0.5).rvs(500, random_state=2)]) X = X.reshape(-1, 1) s0 = m.score(X) m.fit(X) assert np.abs(g.eval() - 1. / 3.) < 0.05 assert m.score(X) <= s0
def test_fit(): p1 = Normal(mu=T.constant(0.0), sigma=T.constant(2.0)) p2 = Normal(mu=T.constant(3.0), sigma=T.constant(2.0)) p3 = Exponential(inverse_scale=T.constant(0.5)) g = theano.shared(0.5) m = Mixture(components=[p1, p2, p3], weights=[g, g*g]) X = np.concatenate([st.norm(loc=0.0, scale=2.0).rvs(300, random_state=0), st.norm(loc=3.0, scale=2.0).rvs(100, random_state=1), st.expon(scale=1. / 0.5).rvs(500, random_state=2)]) X = X.reshape(-1, 1) s0 = m.score(X) m.fit(X) assert np.abs(g.eval() - 1. / 3.) < 0.05 assert m.score(X) >= s0