Source code for models.hmm

import numpy as np
[docs]class HiddenMarkovModel: """HiddenMarkovModel is a object that contains all the info necessary for an HMM """ def __init__(self, observation_states: np.ndarray, hidden_states: np.ndarray, prior_probabilities: np.ndarray, transition_probabilities: np.ndarray, emission_probabilities: np.ndarray): """Initializes a HiddenMarkovModel Args: observation_states (np.ndarray): list of observation states hidden_states (np.ndarray): list of hidden states prior_probabilities (np.ndarray): prior probabilities for each state transition_probabilities (np.ndarray): transition probabilities from each state to the next emission_probabilities (np.ndarray): emission probabilities for each state """ self.observation_states = observation_states self.observation_states_dict = {observation_state: observation_state_index \ for observation_state_index, observation_state in enumerate(list(self.observation_states))} self.hidden_states = hidden_states self.hidden_states_dict = {hidden_state_index: hidden_state \ for hidden_state_index, hidden_state in enumerate(list(self.hidden_states))} self.prior_probabilities= prior_probabilities self.transition_probabilities = transition_probabilities self.emission_probabilities = emission_probabilities