In My Mind
← inteligencia-artificial

16. Lab Bayesian network

Tarea

En la tarea te pediremos calcular algunas probabilidades del ejemplo del homicida en el tren. Comenzamos por crear la RB:

#define las probabilidades de transición de la red
homicida_t= CPT(
        'homicida',
        [('',0.01)])
sangre_t = CPT(
        'sangre',[('homicida',0.8),('~homicida',0.1)])
cuchillo_t = CPT(
        'cuchillo',[('homicida',0.85),('~homicida',0.25)])

#crea la red
bn = BayesianNetwork({
        'homicida':homicida_t,
        'cuchillo':cuchillo_t,
        'sangre':sangre_t})

print(bn)

CPT for variable homicida P(homicida) = 0.0100

CPT for variable sangre P(sangre|~homicida) = 0.1000 P(sangre| homicida) = 0.8000

CPT for variable cuchillo P(cuchillo|~homicida) = 0.2500 P(cuchillo| homicida) = 0.8500 El siguiente es un método que imprime el resultado de calcular algunas preguntas de probabilidad con la RB.

def tarea():

    #perform queries

    print("P(homicida) = "+str(bn.query("homicida")))

    print("P(sangre) = "+str(bn.query("sangre")))

    print("P(cuchillo) = "+str(bn.query("cuchillo")))

    print("P(~cuchillo) = "+str(bn.query("~cuchillo")))

    print("P(~cuchillo|homicida) = "+str(bn.query("~cuchillo|homicida")))

    print("P(homicida|cuchillo,sangre) = "+str(bn.query("homicida|cuchillo,sangre")))

Ejecuta el método tarea y copia el resultado en un archivo de texto que deberás subir como respuesta. relatedInteligencia Artificial