У меня есть байесовский классификатор, запрограммированный в Python, проблема в том, что когда я умножаю вероятности функций, я получаю ОЧЕНЬ маленькие значения float, такие как 2.5e-320 или что-то в этом роде, и вдруг это превращается в 0.0. 0.0, очевидно, бесполезно для меня, так как я должен найти «лучший» класс, на основе которого класс возвращает значение MAX (большее значение).В Python небольшие поплавки, стремящиеся к нулю
Что было бы лучшим способом справиться с этим? Я подумал о том, чтобы найти экспоненциальную часть числа (-320) и, если она идет слишком низко, умножая значение на 1e20 или некоторое значение, подобное этому. Но может быть, есть лучший способ?
Это не математика. В математике положительные числа могут быть сколь угодно малыми. Это плавающая точка. – recursive
@S. Lott Это определенно не математический вопрос на любом участке. Это имеет все, что связано с числами с плавающей запятой, и тем, как они работают на Python, а также на других языках программирования. –
Я считаю, что 2.5e-320 - это точная вероятность того, что кит внезапно превратится в чашу петуний. – Seth