• 大小: 2KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: Python
  • 标签: HMM  python  viterbi  

资源简介

使用python实现的,基于HMM的天气预测,是入门的好例子。

资源截图

代码片段和文件信息

def forward_viterbi(obs states start_p trans_p emit_p):
    T = {}
    for state in states:
        ##          prob.           V. path  V. prob.
        T[state] = (start_p[state] [state] start_p[state])
    for output in obs:
        print T
        U = {}
        for next_state in states:
            total = 0
            argmax = None
            valmax = 0
            for source_state in states:
                (prob v_path v_prob) = T[source_state]
                p = emit_p[source_state][output] * trans_p[source_state][next_state]
                #caculate
                prob *= p
                v_prob *= p
                #the different way to gain
                total += prob
                if v_prob > valmax:
                    argmax = v_path + [next_state]
                    valmax = v_prob
            U[next_state] = (total argmax valmax)
        T = U
    #print T
    ## apply sum/max to the final states:
    total = 0
    argmax = None
    v

评论

共有 条评论