2017-11-03 16 views
0

私はpgmpy Python packageを使ってある種の状態間の遷移確率を知ろうとしていますが、モデルに適合すると条件付き確率が正しくないことがわかります。pgmpyが不正確な条件付き確率を返す

私が話している問題の非常に単純化された例として、AとBの2つの状態からなるベイジアンネットワークを考えてみましょう。 Aが0であればBは1であり、Aが1であるときはBはゼロであるということである。このような状況を記述したコードは次式で与えられます。私たちは、その後model.cpds[1]を呼び出すことにより、フィットの条件付き確率を調べしかしとき

import pandas as pd 
from pgmpy.models import BayesianModel 

data = pd.DataFrame(data={'A': [0, 0, 1, 1, 1, 1], 'B': [1, 1, 0, 0, 0, 0]}) 
model = BayesianModel([('A', 'B')]) 
model.fit(data) 

、我々はpgmpyには、次の学習したことを見つける:

+------+------+------+ 
| A | A(0) | A(1) | 
+------+------+------+ 
| B(0) | 0.5 | 0.5 | 
+------+------+------+ 
| B(1) | 0.5 | 0.5 | 
+------+------+------+ 

それはべき学んだ

+------+------+------+ 
| A | A(0) | A(1) | 
+------+------+------+ 
| B(0) | 0.0 | 1.0 | 
+------+------+------+ 
| B(1) | 1.0 | 0.0 | 
+------+------+------+ 

ここで何が起こっているのですか?これは非常に基本的な例であり、私は狂ったように感じる。ありがとう

答えて

関連する問題