Scikit learn 拟合函数hmmlearn不';t work:fit()接受2个位置参数,但给出了3个

Scikit learn 拟合函数hmmlearn不';t work:fit()接受2个位置参数,但给出了3个,scikit-learn,hmmlearn,Scikit Learn,Hmmlearn,我试图运行一个隐马尔可夫模型,但是拟合函数不能正常工作 代码: 我收到以下错误消息: TypeError Traceback (most recent call last) <ipython-input-16-cdfada1be202> in <module>() 8 lengths = [len(X1), len(X2)] 9 ---> 10 hmm.GaussianHMM(

我试图运行一个隐马尔可夫模型,但是拟合函数不能正常工作

代码:

我收到以下错误消息:

TypeError                                 Traceback (most recent call last)
<ipython-input-16-cdfada1be202> in <module>()
      8 lengths = [len(X1), len(X2)]
      9 
---> 10 hmm.GaussianHMM(n_components=3).fit(X, lengths)

TypeError: fit() takes 2 positional arguments but 3 were given
TypeError回溯(最近一次调用)
在()
8长度=[len(X1),len(X2)]
9
--->10 hmm.GaussianHMM(n_分量=3).拟合(X,长度)
TypeError:fit()接受2个位置参数,但给出了3个

请检查您拥有的
hmmlearn
版本并更新。如图所示,
length
参数在较新版本中可用

然后试着做(如@Harpal所建议的):


对于
hmmlearn
0.1.1,可以再现此错误

但是,如果执行
pip,请在虚拟环境中安装hmmlearn==0.2.0
,然后使用
hmm.GaussianHMM(n_components=3)。fit(X,length=length)


一切都会好起来的

尝试执行:
.fit(X,length=length)
hmmlearn是一个scikit样式库,而不是scikit学习。这个错误与scikit学习无关。所以请更改问题标题。@Harpal它不起作用。。我得到了这个错误消息:TypeError:fit()得到了一个意外的关键字参数'length',我检查了它并得到了最新版本。但是,当点击源代码时,可以看到函数期望his:def fit(self,X,length=None)@JoepvanderPlas我在版本0.2.0上,代码没有任何错误。你能说出你的版本吗?@JoepvanderPlas我无法复制这个。我有hmmlearn 0.2.0和scikit learn 0.19.1。在python2和python3上都进行了检查。您确定您使用的版本与此处所述的版本相同吗。也许你把它安装在其他地方了。尝试导入hmmlearn和打印(hmmlearn.\uuuuuu版本)。从当前脚本。
TypeError                                 Traceback (most recent call last)
<ipython-input-16-cdfada1be202> in <module>()
      8 lengths = [len(X1), len(X2)]
      9 
---> 10 hmm.GaussianHMM(n_components=3).fit(X, lengths)

TypeError: fit() takes 2 positional arguments but 3 were given
hmm.GaussianHMM(n_components=3).fit(X, lengths=lengths)