Ho un classificatore bayesiano programmato in Python, il problema è che quando moltiplico le probabilità di funzionalità ottengo MOLTO piccoli valori float come 2.5e-320 o qualcosa del genere, e all'improvviso si trasforma in 0.0. Lo 0.0 è ovviamente inutile poiché devo trovare la "migliore" classe in base alla quale la classe restituisce il valore MAX (valore maggiore).In Python piccoli galleggianti tendenti a zero
Quale sarebbe il modo migliore per affrontare questo? Ho pensato di trovare la parte esponenziale del numero (-320) e, se è troppo bassa, moltiplicando il valore per 1e20 o un valore del genere. Ma forse c'è un modo migliore?
Questo non è matematica. In matematica, i numeri positivi possono essere arbitrariamente piccoli. Questo è in virgola mobile. – recursive
@S. Questa non è sicuramente una domanda di matematica da nessuna parte. Questo ha tutto a che fare con i numeri in virgola mobile e il modo in cui funzionano in Python e in altri linguaggi di programmazione. –
Credo che 2.5e-320 sia la probabilità esatta che una balena si trasformi improvvisamente in una ciotola di petunie. – Seth