ML--HMM(隐马尔可夫模型及python的实现2)
2016-01-17 22:26
627 查看
1.HMM的应用1,这个代码不知道出处了,若有侵权请联系本文作者删除,注释为本人所加。
2.对基本的HMM需要进一步了解的,请戳这里
3.下面是HMM代码的解释之一
# _*_ coding:utf-8 _*_ # __author__='dragon' """ test HMM """ from __future__ import division import numpy as np import matplotlib.pyplot as plt from hmmlearn import hmm ##这里要求先装好了hmm这个包 states = ["Rainy", "Sunny"]##隐藏状态 n_states = len(states)##长度 observations = ["walk", "shop", "clean"]##可观察的状态 n_observations = len(observations)##可观察序列的长度 start_probability = np.array([0.6, 0.4])##开始转移概率 ##转移矩阵 transition_probability = np.array([ [0.7, 0.3], [0.4, 0.6] ]) ##混淆矩阵 emission_probability = np.array([ [0.1, 0.4, 0.5], [0.6, 0.3, 0.1] ]) #构建了一个MultinomialHMM模型,这模型包括开始的转移概率,隐含间的转移矩阵A(transmat),隐含层到可视层的混淆矩阵emissionprob,下面是参数初始化 model = hmm.MultinomialHMM(n_components=n_states) model._set_startprob(start_probability) model._set_transmat(transition_probability) model._set_emissionprob(emission_probability) # predict a sequence of hidden states based on visible states bob_says = [2, 2, 1, 1, 2, 2]##预测时的可见序列 logprob, alice_hears = model.decode(bob_says, algorithm="viterbi") print logprob##该参数反映模型拟合的好坏 ##最后输出结果 print "Bob says:", ", ".join(map(lambda x: observations[x], bob_says)) print "Alice hears:", ", ".join(map(lambda x: states[x], alice_hears))
4,那么问题来了,怎么训练这个HMM模型来获取模型参数呢,请关注后面更新。。。。。。
相关文章推荐
- python100例(一)
- python列表和QVariant
- 《笨办法学Python》 第15课手记
- Python 基础【一】
- python数据类型-列表(序列类型)
- python collection系列
- Python_day01_笔记
- Python - 定制pattern的string模板(template) 具体解释
- Python数据类型-序列(元组)
- python数据类型(字符串)
- python 利用正则过滤表情符号
- windows 上执行python pywin32.exe
- python--函数式编程--9
- 随机森林算法的简单总结及python实现
- python数字图像处理(7):图像的形变与缩放
- python数字图像处理(6):图像的批量处理
- python数字图像处理(5):图像的绘制
- Python异常处理总结
- urllib中的urlretrieve提示错误:No such file or directory
- Python多进程(multiprocessing)一