Java에서 엔트로피 및 정보 게인과 관련된 일부 미적분을 만들려고 노력 중이며 다음과 같은 수식을 사용합니다. info_gain = infogain - nr1/nr2 * nr3.Java에서 빼기를 두 배로 늘림
nr1, nr2, nr3 및 인포 게인은 두 배입니다.
문제는 nr1/nr2 * nr3의 결과가 corect입니다. 그러나 내가 뺄셈을 할 때 나는 추악한 결과를 얻습니다.
예를 들어 nr1/nr2 * nr3은 0.574716이고 정보의 초기 값은 0.575306입니다. 내가 빼기를 할 때 나는 0.000589를 얻는다. 그게 정확하지 않거나 반환해야 할 것이 아닙니다 (저는 종이에 미적분을했습니다).
MathContext.DECIMAL64를 사용하고 divide (nr, 10, RoundingMode.HALF_UP)를 사용하여 BigDecimal을 사용하려고했습니다.
따라서 0.001 이상에서 결과를 얻을 수있는 가능성이 있습니까? (또는 유사하지만 0.000589는 아님).
대답은'0.00059' 올바른지, 당신은 아마 종이에 뭔가 잘못 ... –
했다, 나는 그 가정 것이다 다른 피연산자는 컴퓨터가 숫자를 뺄 수 없다고 생각하는 것이 아니라 생각한 결과가 아니거나 예상 된 결과가 정확하지 않습니다. –