Classification
當概率為零時替代香農熵
我有一系列對象,我知道它們屬於 10 個類別的概率。該概率可以為空(請參見下面的示例,其中包含 4 個類別:A、B、C、D)。
A B C D 1 0.4 0.0 0.2 0.4 2 0.1 0.3 0.4 0.2 3 0.0 0.0 0.0 1.0
為了為每個對象獲取有關分類質量的信息,我想計算香農的熵,但是當其中一個類的概率為零(log(0)=-Inf)時,它不起作用。
我的問題:是否有類似於香農熵(或適應)的測量方法來處理等於零的概率?
忽略零概率,並使用相同的等式進行求和。
for each object{ double e=0.0; for (int i=0;i<n;i++){ if (p[i]!=0) e = e+ p[i]*Log(p[i],2); } e=-1 * e; print e; }
// 第 1,2 和 3 行的熵分別為 1.52、1.85 和 0.00