Hola razpeitia, lo que quiere hacer concretamente es un algoritmo ID3, que es generar arboles, con nodos, y hojas, para hacer esto se necesita calcular la entropia, y para obtener está entropía debo calcular la sumatoria de los valores que se repiten ejemplo
si tengo mi tabla 1 :
Código:
Alta : si
Alta : no
Alta : si
Baja : no
Media : si
Baja : si
Alta : si
deberia estar obteniendo algo así tabla 2:
Código:
Alta : si => 3.0
Alta : no => 1.0
Media : si => 1.0.
Baja : si => 1.0
Baja : no => 1.0
Entonces de aqui ya podria calcular la entropia
que seria la suma de Alta en si, Alta en no, Media en si, Baja en si, y Baja en noy cada una sobre el número que tiene. ejemplo:
Tabla 3
Código:
Alta si no
= - ( (3/4 * log2 (3/4 ) + ( 1/4 * log2 (1/4) )
Media si
= - ( 1/1 * log2 (1/1) )
Baja si no
= - ( 1/2 * log2 (1/2) ) + ( 1/2 * log2 (1/2) )
y ya posteriormente sacaria mi ganancia
mi problema básicamente si has corrido mi ejemplo es que me quede la como la tabla 2
y mi pregunta es, estoy haciendolo de manera correcta o dentro de python puedo utilizar otro mecanismo creo que es por q llevo una semana leyendo de el y por tanto mi experiencía es muy nula en el tema, y crei que sería la manera más simple el usar diccionarios dentro de diccionarios, no se que me recomiendas, creo que donde tengo dudas de como buscar los elementos de mis diccionarios
osea en mi código cuando creo los nuevos nodos pregunto si existe en el la llave del elemento anterior creo y ahi debo de preguntar en todo el diccionarios anterior no sólo en la posición anterior, esto por que cuando los elementos
Alta : no , Alta no <-- están juntos los incrementa pero si estubiera si se mete otro elemento ya no lo cuenta y le crea un nuevo nodo. espero darme a entender!!, y aclaro no quiero que me hagas el código simplemente quiero saber que funciones me pueden ayudar para solucionar estas condiciones escritas anteriormente, como nota: disculpa la identación como sólo hice copy paste creo q resulto no productivo
también tengo mucho código comentado que es el q me ayuda a entender como está trabajando python....
Un saludo !!! y gracias por el apoyo.