Con questo codice:Confuso su X a GaussianHMM.fit ([X])
X = numpy.array(range(0,5))
model = GaussianHMM(n_components=3,covariance_type='full', n_iter=1000)
model.fit([X])
vengo
tuple index out of range
self.n_features = obs[0].shape[1]
Allora, cosa si fa a passare .fit() esattamente? Gli stati nascosti E le emissioni in una tupla? Se sì in che ordine? La documentazione è meno che utile.
ho notato che piace essere passata tuple come questo non dà un errore:
X = numpy.column_stack([range(0,5),range(0,5)])
model = GaussianHMM(n_components=3,covariance_type='full', n_iter=1000)
model.fit([X])
Edit:
Vorrei chiarire un po ', the documentation indica che l'ordinalità della matrice deve essere:
Questo quasi indica che si passa una tupla per ciascun campione che indica in modo binario quali sono le osservazioni presenti. Tuttavia their example indichi diversamente:
# pack diff and volume for training
X = np.column_stack([diff, volume])
quindi la confusione
io non sono troppo familiare con quella libreria, ma sembrerebbe che tu debba passare più informazioni al modello Markov, come le probabilità di inizio, la matrice di transizione, ecc. Hai visto il loro [esempio qui] (http://scikit-learn.org/stable/modules /hmm.html)? – CoryKramer
[Ecco una domanda simile] (https://stackoverflow.com/questions/20619734/scikit-learn-gaussianhmm-valueerror-input-must-be-a-square-array). – CoryKramer
@CoreyKramer Sì, ho visto il loro esempio, letto la loro documentazione e persino letto quel post che discute il fatto che devi passare una matrice di array/matrici numpy, non quello che indica ogni ordinamento delle matrici. – Brooks