2016-09-08 4 views
0

안녕하세요, 데이터 프레임 테스트가 있는데, hmmlearn을 사용하여 가우시안 HMM을 사용하여 예측하려고합니다. 나는이 작업을 수행 할 때hmmlearn을 사용하여 모델 예측에 오류가 발생했습니다.

는 :

for i in range(0,len(test)): 
    y = model.predict(test[:i]) 

내가 할 모든 Y의 존재이다 :

y = model.predict(test) 
y 

내가 이렇게하면 괜찮을 생산 및 상태 그러나

의 배열을 작업 흠을 얻을 1로 설정하십시오.

아무도 도와 줄 수 있습니까? 관찰

for i in range(251,len(X)): 
    test = X[:i] 
    y = model.predict(test) 
    print(y[len(y)-1]) 
+0

for 루프의 모든 'i'에 대해 'y'가 모두 존재하는지 확인 하시겠습니까? 이것은 적어도 i가'len (test) - 1' 인 마지막 반복의 경우가 아니어야합니다. –

+0

안녕하세요, 내가 작동하도록 할 수있는 유일한 방법은 테스트 세트의 학습 세트에 값의 벡터를 점진적으로 추가하고 새 세트의 예측을 실행하는 것입니다. 그것은 디자인에 의한 것이거나 현재 상태/전환 매트 등이 for 루프 내에서 메모리 포스트 예측에 남아있을 수 있습니다. – azuric

답변

1

HMM 모델 시퀀스 :

UPDATE 여기

는 훈련 세트가 0-249했다

을 반복 작업을 수행하는 코드입니다. 당신은 (않는 기본적으로 Viterbi decoding) 당신은 본질적으로 argmax, startprob_에 의해 지배 될 수

(model.startprob_ * model.predict_proba(test[i:i + 1])).argmax() 

이상 예에 예측을 감소 predict에 하나의 관찰을 공급하는 경우 startprob = [10**-8, 1 - 10**-8]. 이것은 당신이보고있는 모든 것들을 설명 할 수 있습니다.

+0

하하하니, '지도'는 똑같은 문제를 겪고 있습니까? 내 해킹은 해결 방법을 제공하지만이를 해결하기위한보다 엄격한 방법이 있습니까? Btw는 훌륭한 라이브러리를 구축했습니다. – azuric

+0

예, MAP 예측은 전방 - 후진 알고리즘을 실행하므로 단일 관찰에 대해 동일한 수식으로 줄어 듭니다. 이후에 더 자세하게 말씀해 주시겠습니까? 증분 예측입니까? –

+0

예 실시간으로 증분 예측입니다. 나는 데이터 등을 더 좋아한다면 우편으로 더 자세한 정보를 줄 수있다. – azuric

관련 문제