Assignment 7
Assignment 7
PRN: 12211701
class GaussianHiddenMarkovModel:
def __init__(self, n_states, n_observations):
self.n_states = n_states
self.n_observations = n_observations
# Initialize parameters
self.transition_prob = np.random.rand(n_states, n_states)
self.transition_prob /= self.transition_prob.sum(axis=1,
keepdims=True)
self.initial_prob = np.random.rand(n_states)
self.initial_prob /= self.initial_prob.sum()
return best_path
best_states = hmm.viterbi(observations)
print("Observations:", observations)
print("Predicted hidden states:", best_states)
# Interpret states
state_names = ["Sunny", "Cloudy", "Rainy"]
print("Interpreted states:", [state_names[state] for state in
best_states])
Output:
1.Observations: [0.3790004094219769, 0.43166097774778567,
0.2432889991045354]
State Sunny:
State Cloudy:
State Rainy:
State Sunny:
State Cloudy:
State Rainy: