discretehmm.py

来自「General Hidden Markov Model Library 一个通用」· Python 代码 · 共 44 行

PY
44
字号
import ghmm# example code for a discrete HMM for generating random DNA sequencesA = [[0.3,0.3,0.4],[0.6,0.1,0.3],[1.0,0.0,0.0]]  # transition matrixB = [[0.2,0.3,0.3,0.2],[0.1,0.2,0.6,0.1], [0.25,0.25,0.25,0.25]]  # emission matrixpi = [1.0,0.0,0.0]  # initial probabilities# generate model from parameter matricesmodel = ghmm.HMMFromMatrices(ghmm.DNA,ghmm.DiscreteDistribution(ghmm.DNA), A, B, pi)# modify model parametersp = model.getInitial(2)model.setInitial(2,0.5)model.setInitial(0,0.5) # re-set transition from state 0 to state 1trans = model.getTransition(0,1)model.setTransition(0,1,0.6) # re-setting emission of state 1model.setEmission(1,[0.2,0.2,0.2,0.4]) # re-normalize model parametersmodel.normalize()# sample single sequence of length 50seq = model.sampleSingle(50)# sample 10 sequences of length 50seq_set = model.sample(10,50)# get log P(seq | model)logp = model.loglikelihood(seq)# cacluate viterbi path path = model.viterbi(seq)# train model parametersmodel.baumWelch(seq_set,5,0.01)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?