def build_hmm(trans, emis, seed=1): """Builds and returns hmm_model given the transition and emission probabilities matrices""" hmm = MultinomialHMM(n_components=trans.shape[0], algorithm="viterbi", random_state=seed) hmm.__setattr__("n_features", emis.shape[1]) hmm.__setattr__("emissionprob_", emis) hmm.__setattr__("startprob_", np.array( [1] + [0] * (trans.shape[0] - 1))) # We will always start at the first state hmm.__setattr__("transmat_", trans) return hmm