使用Numba的离散隐马尔可夫模型
项目描述
Hmmkay

🤔👌
使用Numba的离散隐马尔可夫模型
Hmmkay是一个基于numba即时编译的基本库,用于离散隐马尔可夫模型。它支持解码、似然评分、拟合(参数估计)和采样。
Hmmkay接受任意长度的序列,例如2d numpy数组或可迭代对象的列表。Hmmkay将可迭代对象的列表内部转换为Numba类型化numpy数组列表。
安装
pip install hmmkay
需要Python 3.6或更高版本。
示例
评分和解码
from hmmkay.utils import make_observation_sequences
sequences = make_observation_sequences(n_seq=100, n_observable_states=4, random_state=0)
hmm.fit(sequences)
from hmmkay.utils import make_proba_matrices
from hmmkay import HMM
init_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.336
hmm.decode(sequences) # most likely sequences of hidden states
[array([1, 0, 0, 1], dtype=int32), array([1, 0], dtype=int32)]
拟合
from hmmkay.utils import make_observation_sequences
sequences = 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进行black和flake8。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码发行版
此发行版没有可用的源代码发行版文件。请参阅生成发行版存档的教程。
构建发行版
hmmkay-0.0.1-py3-none-any.whl (10.6 kB 查看哈希值)
关闭
hmmkay-0.0.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | abdeb1a77a1bf8b9b9c4c245166dc47ccc97caa138edfdaecfdcd7387c0247ff |
|
MD5 | e25a34428b861d27b5d81199b645d886 |
|
BLAKE2b-256 | a3149ba6a3ee319d99aa93b5bffaf6a5409f8deb9bd134cec18d6e2679ea1429 |