3

Python で hmmlearn を使用して隠れマルコフ モデルを当てはめようとしています。私のデータは正しくフォーマットされていないと思いますが、ドキュメントは hmmlearn には軽いです。直感的に、n_observations x n_time_points x n_features の 3 次元配列としてデータをフォーマットしますが、hmmlearn では 2 次元配列が必要なようです。

import numpy as np
from hmmlearn import hmm
X = np.random.rand(10,5,3)
clf = hmm.GaussianHMM(n_components=3, n_iter=10)
clf.fit(X)

次のエラーが発生します。

ValueError: Found array with dim 3. Estimator expected <= 2.

私が求めているHMMを構築するためにデータをフォーマットする方法を知っている人はいますか?

4

2 に答える 2

1

単一の時系列観測の場合、hmmlearn フィット メソッドは、データが reshape(-1,1) を使用して取得できる 2 次元の列ベクトルにあると想定します。

X = np.array([1, 1, 0, -1, -1])
model = hmm.GaussianHMM(n_components=2, n_iter=100)
model.fit(X.reshape(-1,1))
于 2016-04-15T01:56:30.300 に答える