Полиномиальный HMM с pyspark? - PullRequest
       4

Полиномиальный HMM с pyspark?

0 голосов
/ 20 января 2020

Я пытался реализовать свою модель hmm в pyspark, но пока не нашел ни одного примера, чтобы я мог заставить его работать с моим кодом. Может кто-нибудь мне помочь? Вот мой .py код

import numpy as np
from hmmlearn import hmm

states = ['DET','ADJ','NN','V']
n_states = len(states)

observations = ['the','a','green','big','old','might','book','plants','people','person','John','wash','washes','loves','reads','books']
n_observations = len(observations)

start_probability = np.array([0.5,0.1,0.3,0.1])

transition_probability = np.array([
        [0,   0,   0,   0.5],
        [0.3, 0.2, 0.1, 0.2],
        [0.7, 0.7, 0.4, 0.2],
        [0,   0.1, 0.5, 0.1]
]).T

emission_probability = np.array([
    [0.7, 0, 0, 0],
    [0.3, 0, 0, 0],
    [0, 0.1, 0, 0],
    [0, 0.4, 0, 0],
    [0, 0.4, 0, 0],
    [0, 0.1, 0, 0.2],
    [0, 0, 0.3, 0],
    [0, 0, 0.2, 0],
    [0, 0, 0.2, 0],
    [0, 0, 0.1, 0],
    [0, 0, 0.1, 0],
    [0, 0, 0.1, 0.3],
    [0, 0, 0, 0.2],
    [0, 0, 0, 0.1],
    [0, 0, 0, 0.19],
    [0, 0, 0, 0.01]
]).T

model = hmm.MultinomialHMM(n_components=n_states, init_params="")
model.startprob_=start_probability
model.transmat_=transition_probability

model.emissionprob_=emission_probability

# predict a sequence of hidden states based on visible states
bob_says = np.array([[10,5,11]]).T #transpose

#model = model.fit(bob_says)
logprob, alice_hears = model.decode(bob_says, algorithm="viterbi")
print("Bob says:", ", ".join(map(lambda x: observations[x], bob_says.T[0])))

print("Alice hears:", ", ".join(map(lambda x: states[x], alice_hears)))

Я перечитал документацию для gmm learn, но не могу реализовать hmm. Заранее спасибо!

...