def generate(m, n, dsizes, tsize, file_tager): start_time = time.time() # Create Hidden Markov Model randomly. # m --- The number of hidden states # n --- The number of observation states model = HMM(m, n) # Generate training set for dsize in dsizes: training_seq = model.generate_train_data(dsize) training_filename = "train_" + file_tager + ("_%d.data" % dsize) np.savetxt(training_filename, [training_seq], delimiter=",", fmt="%d") # Generate test set test_seqs_F = model.generate_test_data(tsize, min_seq_len=4, max_seq_len=5) test_seqs_V = model.generate_test_data(tsize, min_seq_len=3, max_seq_len=50) test_seqs_F_filename = "test_" + file_tager + "_F.data" test_seqs_V_filename = "test_" + file_tager + "_V.data" with file(test_seqs_F_filename, "wb") as fout: writer = csv.writer(fout) for seq in test_seqs_F: writer.writerow(seq) with file(test_seqs_V_filename, "wb") as fout: writer = csv.writer(fout) for seq in test_seqs_V: writer.writerow(seq) end_time = time.time() pprint("Time used: %f seconds" % (end_time-start_time)) # Save model to file model_filename = "model_" + file_tager + ".npy" HMM.to_file(model_filename, model)
def generate(m, n, dsizes, tsize, file_tager): start_time = time.time() # Create Hidden Markov Model randomly. # m --- The number of hidden states # n --- The number of observation states model = HMM(m, n) # Generate training set for dsize in dsizes: training_seq = model.generate_train_data(dsize) training_filename = "train_" + file_tager + ("_%d.data" % dsize) np.savetxt(training_filename, [training_seq], delimiter=",", fmt="%d") # Generate test set test_seqs_F = model.generate_test_data(tsize, min_seq_len=4, max_seq_len=5) test_seqs_V = model.generate_test_data(tsize, min_seq_len=3, max_seq_len=50) test_seqs_F_filename = "test_" + file_tager + "_F.data" test_seqs_V_filename = "test_" + file_tager + "_V.data" with file(test_seqs_F_filename, "wb") as fout: writer = csv.writer(fout) for seq in test_seqs_F: writer.writerow(seq) with file(test_seqs_V_filename, "wb") as fout: writer = csv.writer(fout) for seq in test_seqs_V: writer.writerow(seq) end_time = time.time() pprint("Time used: %f seconds" % (end_time - start_time)) # Save model to file model_filename = "model_" + file_tager + ".npy" HMM.to_file(model_filename, model)