Implementación de el algoritmo para una red Bayesiana.
Project description
Explicación de la funcionalidad de la librería.
La presente librería permite crear y analizar redes bayesianas. Para lo mismo, se necsita crear lo siguiente:
- Una red que contenga los nodos y las aristas que se desean analizar de la siguiente forma:
red = { "A": ["B", "C"], "B": [], "C": ["D"], "D": [] }
- Una red de probabildades que contenga las probabilidades de cada nodo de la siguiente forma:
probabilidades = { "A": {"distribucion": [0.1, 0.9], "padres": []}, "B": {"distribucion": [0.8, 0.2], "padres": [("A", 0), ("A", 1)]}, # 0.8 = P(B=0|A=0, C=0), 0.2 = P(B=0|A=0, C=1) "C": {"distribucion": [0.7, 0.3], "padres": [("A", 0), ("A", 1)]}, # 0.7 = P(C=0|A=0, C=0), 0.3 = P(C=0|A=0, C=1) "D": {"distribucion": [0.6, 0.4], "padres": [("C", 0), ("C", 1)]} # 0.6 = P(D=0|C=0), 0.4 = P(D=0|C=1) }
- Estas dos redes se deben pasar a la librería de Bayes de la siguiente forma:
bayes = Bayes(red, probabilidades)
Esto devolverá un texto que indica si la red está completamente descrita o no.
- Para calcular la probabilidad de una variable, se debe llamar a la función de la siguiente forma:
Crear un query de la siguiente forma: query = ("A", ("B", 0), ("C", 1), ("D", 0))
Luego, llamar a la función de inferencia de la siguiente forma: bayes.inferencia(red, probabilidades, query)
Con lo anterior se obtiene la probabilidad de la variable A, dada la evidencia de que B=0, C=1 y D=0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for jbnetwork-0.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f660e5d1c283c515c61ae29834334b51e0f06e1199da519da7a8ce8ae01e8f2e |
|
MD5 | 636b1a8c6e857a2c54a6c4058739c93c |
|
BLAKE2b-256 | 56dddbd9dd9951c57933de782b5d3c7987578ee0155fb1c1b0308ea4a9a5ccb3 |