# Do the transition model stuff first X = np.loadtxt(open("dump/observations_simulated_trans_"+str(students)+".csv","rb"),delimiter=",") #load problem IDs for these observations P = np.loadtxt(open("dump/problems_simulated_trans_"+str(students)+".csv","rb"),delimiter=",") #S = np.loadtxt(open("dump/skills_simulated_trans.csv", "rb"), delimiter=",") states = np.loadtxt(open("dump/states_simulated_trans_"+str(students)+".csv","rb"),delimiter=",") times = get_mastery_time(states) #get params learned from model pdictl = json.load(open("dump/PARAMS_simulated_trans_"+str(students)+"_L1_second_trans_2states_1000iter.json","r")) # L1 transition model, transition AFTER emission model = MLFKTTransitionModel(X, P, 0, 0.15, True, False) params = model.get_parameters() #Set the learned model parameters for transition model for k, v in params.iteritems(): if k in pdictl[-1]: v.set(pdictl[-1][k]) else: print print pdictl[-1] print "Uh oh,", k, "not in learned params for transition model" """params['D_8'].set(0.8834557934379552) params['D_9'].set(1.140053275980339) params['D_2'].set(-2.500678825112307) params['D_3'].set(-1.7398224556239437)
P = np.array(P) print str(Xtest.shape[0]) + " test sequences" print str(X.shape[0]) + " training sequences" if "1" in sys.argv[8]: L1 = True else: L1 = False trans_first = False if len(sys.argv) > 9: trans_first = True if "y" in sys.argv[4]: model = MLFKTTransitionModel(X, P, intermediate_states, 0, L1, trans_first) else: model = MLFKTTransitionModel(X, P, intermediate_states, 0.1, L1, trans_first) mcmc = MCMCSampler(model, 0.15) burn = int(sys.argv[1]) for c in range(20): mcmc.burnin(int(math.ceil((burn + 0.0) / 20))) print ("finished burn-in #: " + str((c + 1) * burn / 20)) num_iterations = int(sys.argv[2]) loop = 20 per_loop = int(math.ceil((num_iterations + 0.0) / loop)) for c in range(loop): a = time.time()