gpt4 book ai didi

python - 对 GaussianHMM.fit([X]) 中的 X 感到困惑

转载 作者:太空狗 更新时间:2023-10-30 00:14:04 25 4
gpt4 key购买 nike

使用这段代码:

X = numpy.array(range(0,5))
model = GaussianHMM(n_components=3,covariance_type='full', n_iter=1000)
model.fit([X])

我明白了

tuple index out of range 
self.n_features = obs[0].shape[1]

那么您应该传递 .fit() 的具体内容是什么?元组中的隐藏状态和发射?如果是这样,顺序是什么?该文档没有帮助。

我注意到它喜欢传递元组,因为这不会给出错误:

X = numpy.column_stack([range(0,5),range(0,5)])
model = GaussianHMM(n_components=3,covariance_type='full', n_iter=1000)
model.fit([X])

编辑:

让我澄清一下,the documentation表示数组的序数必须是:

List of array-like observation sequences (shape (n_i, n_features)).

这几乎表明您为每个样本传递了一个元组,该元组以二进制方式指示存在哪些观察结果。然而their example否则表示:

# pack diff and volume for training
X = np.column_stack([diff, volume])

因此困惑

最佳答案

看起来 GaussianHMM 函数是针对仅多元发射 HMM 问题的,因此需要有 >1 个发射向量。当文档提到“n_features”时,他们指的不是发射可以表达自己的方式的数量,而是正交发射向量的数量。

因此,“特征”(正交发射向量)不应与“符号”混淆,用 sklearn 的说法(据我所知,这可能与更大的 hmm 社区共享)指的是实际的独特值(value)该系统能够发射。

对于单变量发射向量问题,使用 MultinomialHMM。

希望这能为那些想使用这些东西但又不想成为世界上 HMM 最重要权威的人澄清 :)

关于python - 对 GaussianHMM.fit([X]) 中的 X 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30789921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com