def fit(self, data, iterations): prior, muu, sig = kmean_init.EM_init(data, self.nbmixtures_states) self.prior, self.muu, self.sig = em.EM(data, prior, muu, sig, iterate=iterations)
help='Verbose mode (Styles Matrices + probZ)') args = parser.parse_args() data = init_from_file(args.train_data, 0, not args.r, args.t or args.n) # Uncomment to confirm correctness of Q and gradQ # check_gradient(data) # Run the naive (baseline) algorithm if args.n: print naive(data) # Train our model else: start = time() EM(data) elapsed = time() - start print "Completed training in %d minutes and %d seconds\n" % ( elapsed / 60, elapsed % 60) if args.v: data.outputResults() if args.t: if args.p: acc, ce = data.permutedAcc() else: acc = data.std_percent_correct() ce = data.std_cross_entropy() print "Percent Correct: " + str(acc * 100) + "%" print "Cross Entropy: " + str(ce)
# Run multiple trials of a test if __name__ == '__main__': np.random.seed() accuracies = [] cross_entropies = [] times = [] steps = [] for sim in range(50): # Run 50 simulations data = init_from_file("Tests/SinkhornAnalysis/data/%d.txt" % sim, 0, True, True) start = time() num_steps = EM(data) elapsed = time() - start times.append(elapsed) steps.append(num_steps) print("Simulation %d:" % sim) print("Number of EM Steps: %d" % num_steps) print("Elapsed Time: %d minutes, %d seconds" % (elapsed / 60, elapsed % 60)) acc, ce = data.permutedAcc() print "Accuracy: %.2f %% | %.2f CE\n" % (acc * 100, ce) accuracies.append(acc) cross_entropies.append(ce) average_acc = 100 * sum(accuracies) / len(accuracies)
def fit(self, data): self.data = data Priors, Mu, Sigma = EM_init(data, self.numbefOfStates) self.Priors, self.Mu, self.Sigma, self.Pix = EM( data, Priors, Mu, Sigma)
import Logistic import EM # logistic=Logistic.Logistic(50,1,2,1,2,10,2,10,2) # logistic.run() # logistic=Logistic.Logistic(50,1,2,1,2,3,4,3,4) # logistic.run() em = EM.EM() em.run()
def fit(self, data): self.D = np.shape(data)[1] self.priors, self.mu, self.sigma, self.coefficients, self.y_sigma, self.ll = EM(data, self.number_of_components)
# -*- coding: utf-8 -*- """ Author: VincentGum """ import pandas as pd import numpy as np import EM data = pd.read_csv('data/Q2Q3_input.csv') data.pop('user_id') # set the initial clusters' centers like this c1 = np.array([1, 1, 1, 1, 1, 1]) c2 = np.array([0, 0, 0, 0, 0, 0]) c_init = [c1, c2] em = EM.EM(data.values, c_init) em.train() print(em.SSE)