def test_EMclass():
    for i in [2,3]:
        data = np.asarray(utils.load_gaussian(i))
        #em_algo = em.EMComp()
        #em_algo.initialize(data)
        #print em_algo.models[0].mu
        gmm = GMM(n_components=i, covariance_type='full').fit(data)
        print(gmm.means_)
        print(gmm.covars_)
def q4():
    """
    :return: mean, cov_matrix (std_dev), number in class
    """
    for data_set in [3]:  #[2,3]:
        print '\n\nData set {}'.format(data_set)
        if data_set == 1:
            data = numpy.random.normal(loc=(-1, 1), size=(4000, 2))
        else:
            data = asarray(utils.load_gaussian(data_set))
        em_algo = em.EMComp()
        em_algo.emgm(data, data_set, 100)
def test_EM_validation():
    data = np.asarray(utils.load_gaussian(2))
    em_algo = emv.gaussianEM(data)
def test_assign():
    data = np.asarray(utils.load_gaussian(2))
    em_algo = em.EMComp()
    em_algo.initialize(data)
    print em_algo.models[0].mu
    em_algo.maximize(data)