带numba的离散隐马尔可夫模型
hmmka的Python项目详细描述
hmmkay
具有numba的离散隐马尔可夫模型
hmmkay是离散隐马尔可夫模型的基本库,它依赖于 Numba正在及时编译。它支持解码,可能性评分, 拟合(参数估计)和抽样。
hmmkay接受任意长度的序列,例如2d numpy数组或列表 伊特拉布的。hmmkay在内部将iterables列表转换为numba类型 numpy数组的列表。
安装
pip install hmmkay
需要Python3.6或更高版本。
示例
评分和解码:
fromhmmkay.utilsimportmake_observation_sequencessequences=make_observation_sequences(n_seq=100,n_observable_states=4,random_state=0)hmm.fit(sequences)fromhmmkay.utilsimportmake_proba_matricesfromhmmkayimportHMMinit_probas,transition_probas,emission_probas=make_proba_matrices(n_hidden_states=2,n_observable_states=4,random_state=0)hmm=HMM(init_probas,transition_probas,emission_probas)sequences=[[0,1,2,3],[0,2]]hmm.log_likelihood(sequences)-8.336hmm.decode(sequences)# most likely sequences of hidden states[array([1,0,0,1],dtype=int32),array([1,0],dtype=int32)]
安装:
fromhmmkay.utilsimportmake_observation_sequencessequences=make_observation_sequences(n_seq=100,n_observable_states=4,random_state=0)hmm.fit(sequences)
采样:
hmm.sample(n_obs=2,n_seq=3)# return sequences of hidden and observable states(array([[0,1],[1,1],[0,0]]),array([[0,2],[2,3],[0,0]]))
文档
文档在线 https://hmmkay.readthedocs.io/en/latest/
基准
它应该比hmmlearn快。这是我笔记本电脑上benchmark.py
脚本的结果:
状态
高度实验性,API可以更改而不受抨击。
开发
测试需要以下软件包:
pip install pytest hmmlearn scipy
对于基准:
pip install matplotlib hmmlearn
对于文档:
pip install sphinx sphinx_rtd_theme
对于开发,使用pre-commit hooks 黑色和片状8。