在python中使用hidden_markov时发生ValueError

在python中使用hidden_markov时发生ValueError,python,hidden-markov-models,valueerror,Python,Hidden Markov Models,Valueerror,当我运行train.hmm()时,出现以下错误 我知道什么是广播错误,并查看了文档。但我不能改变矩阵的维数,因为它会在另一个地方弹出一个错误。代码如下所示 start_probability = np.matrix( '0.5 0.02 0.18 0.05 0.01 0.2 0.04 ') transition_probability = np.matrix('0.9 0.012 0.012 0.012 0.002 0.05 0.012 \ ; 0.03 0.35 0.05 0.05 0.02

当我运行
train.hmm()时,出现以下错误

我知道什么是广播错误,并查看了文档。但我不能改变矩阵的维数,因为它会在另一个地方弹出一个错误。代码如下所示

start_probability = np.matrix( '0.5 0.02 0.18 0.05 0.01 0.2 0.04 ')
transition_probability = np.matrix('0.9 0.012 0.012 0.012 0.002 0.05 0.012 \
;  0.03 0.35 0.05 0.05 0.02 0.45 0.05 \
;  0.03 0.05 0.45 0.05 0.02 0.35 0.05 \
;  0.1 0.1 0.1 0.4 0.1 0.1 0.1 \
;  0.1 0.1 0.1 0.1 0.4 0.1 0.1 \
;  0.2 0.05 0.05 0.05 0.05 0.4 0.2 \
;  0.12 0.12 0.12 0.12 0.01 0.12 0.39')
emission_probability = np.matrix(np.ones((7, 20)) * 0.05)

test = hmm(states,possible_observation,start_probability,transition_probability,emission_probability)
observations = ['A', 'S','T','A']
obs4 = ['C', 'A','G']
observation_tuple = []
observation_tuple.extend( [observations,obs4] )
quantities_observations = [10, 20]
num_iter=1000
e,t,s = test.train_hmm(observation_tuple,num_iter,quantities_observations)
错误对应于最后一行。如果我转置
start\u prbability
emission\u probability
矩阵,我将在
test=hmm()
行本身中得到一个错误


我做错了什么

hmm_class.py
的第349行更改为

emProbNew = emProbNew/ np.reshape(em_norm.transpose(),[-1,1])

这不是我所知道的最好的解决方案,但我认为作者忽略了一个事实,即
Python
并不总是能够知道他在这里使用除法的意思。

hmm\u class.py
的第349行更改为

emProbNew = emProbNew/ np.reshape(em_norm.transpose(),[-1,1])

这不是我所知道的最好的解决方案,但我认为作者忽略了一个事实,
Python
并不总是能够知道他在这里使用除法的意思。

尝试使用4个空格或类似{}的代码按钮格式化代码为了让你的答案更具可读性。这不意味着图书馆里有错误吗?为什么我要干预给定库中的代码?尝试使用4个空格或类似{}的代码按钮格式化代码,以使您的答案更具可读性。这是否意味着库中有错误?为什么我要干预给定库中的代码?