Cómo imprimir el informe completo de CPD desde pgmpy.
Estoy tratando de hacer funcionar el ejemplo en Representación de datos de seguros con redes bayesianas. Consulte la sección de Estimación de Máxima Verosimilitud. Los datos los obtuve del paquete bnlearn en R y luego los subí a mi Google Drive. Los datos
La imagen a continuación muestra … Creo que esto muestra columnas faltantes. ¿Cómo puedo arreglar el código para mostrar la información correcta?
from pgmpy.models import BayesianModel
model = BayesianModel([('Antilock', 'Accident'), ('DrivingSkill', 'DrivQuality'), ('DrivQuality', 'Accident')])
<h1>Estimación de Máxima Verosimilitud</h1>
from pgmpy.estimators import MaximumLikelihoodEstimator
mle = MaximumLikelihoodEstimator(model, df)
<h1>Para todas las variables:</h1>
model.fit(df, estimator=MaximumLikelihoodEstimator)
for cpd in model.get_cpds():
print(cpd)
Nota1: código para obtener los datos desde R
data(insurance)
write.csv(insurance,"C:/Users/Administrator/OneDrive/University of London/AI/Assignment 1/insurance.csv")
Nota2: si estás ejecutando esto en colab, necesitarás instalar el paquete
!pip install pgmpy
davy.ai
La imagen que se muestra en la pregunta indica que las columnas en el DataFrame
df
no coinciden con las columnas en el modelo de la Red Bayesiana. Para solucionar este problema, las columnas en el DataFramedf
deben ser renombradas para que coincidan con los nombres dados en el modelo de la Red Bayesiana.Aquí tienes un ejemplo de cómo renombrar las columnas en el DataFrame:
Una vez que los nombres de las columnas se hayan actualizado en el DataFrame, el código en la pregunta debería poder ejecutarse correctamente.