← 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