我试图让贝叶斯网络的保险数据表示中的示例起作用。请参阅最大似然估计部分。我从 R 中的 bnlearn 包中获得的数据,然后将其上传到我的谷歌驱动器。数据
下图显示......我相信这显示了缺失的列。如何修复代码以显示正确的信息?
from pgmpy.models import BayesianModel
model = BayesianModel([('Antilock', 'Accident'), ('DrivingSkill', 'DrivQuality'), ('DrivQuality', 'Accident')])
# Maximum Likelihood Estimation
from pgmpy.estimators import MaximumLikelihoodEstimator
mle = MaximumLikelihoodEstimator(model, df)
# Pour toutes les variables :
model.fit(df, estimator=MaximumLikelihoodEstimator)
for cpd in model.get_cpds():
print(cpd)
注1:从R获取数据的代码
data(insurance)
write.csv(insurance,"C:/Users/Administrator/OneDrive/University of London/AI/Assignment 1/insurance.csv")
注意 2:如果你在 colab 中运行它,你需要安装包
!pip install pgmpy