2
我寫了一個函數來計算向量的熵,其中每個元素表示一個類的元素的數量。純分裂的熵計算爲NaN
function x = Entropy(a)
t = sum(a);
t = repmat(t, [1, size(a, 2)]);
x = sum(-a./t .* log2(a./t));
end
e.g:a = [4 0]
,然後entropy = -(0/4)*log2(0/4) - (4/4)*log2(4/4)
但對於上述功能,熵是NaN
當分割是因爲純的log2(0)
,如在上面的示例。純分裂的熵應該是零。
由於數據量非常大,我應該如何解決對性能影響最小的問題?由於
謝謝,但我不得不將它編輯爲'res(isinf(res))= 0',因爲log2(0)= -inf。 – Newbie
@Newbie確實,我的錯誤 –