Tengo un clasificador bayesiano programado en Python, el problema es que cuando multiplico las características de las probabilidades obtengo valores de flotación MUY pequeños como 2.5e-320 o algo así, y de repente se convierte en 0.0. El 0.0 obviamente no me sirve ya que debo encontrar la "mejor" clase en función de la clase que devuelva el valor MAX (mayor valor).En Python flotadores pequeños tendiendo a cero
¿Cuál sería la mejor manera de lidiar con esto? Pensé en encontrar la parte exponencial del número (-320) y, si es demasiado bajo, multiplicar el valor por 1e20 o algún valor como ese. Pero tal vez hay una mejor manera?
Esto no es matemática. En matemáticas, los números positivos pueden ser arbitrariamente pequeños. Este es un punto flotante. – recursive
@S. Lott Esto definitivamente no es una pregunta matemática de ninguna manera. Esto tiene mucho que ver con los números flotantes y la forma en que funcionan en Python, así como en otros lenguajes de programación. –
Creo que 2.5e-320 es la probabilidad exacta de que una ballena se convierta repentinamente en un tazón de petunias. – Seth