2017-03-24 64 views
0

給定一個二元分類問題:如何在構建決策樹時查找分割點的熵?

enter image description here

有四個正例和5倍負的例子。因此,P(+)= 4/9和P( - )= 5/9。訓練樣例的熵是 -4/9 log2(4/9) - 5/9 log2(5/9)= 0.9911。

對於a3,這是一個連續的屬性,我想找到每個分割的信息增益。

所以我按升序對a3值進行排序並找到它們的分割點。但是,我如何計算它們的熵?

給出的答案是:

enter image description here

在上述圖像信息增益列就是0.9911 - 熵。

但是如何找到熵?

對熵的計算公式爲:

enter image description here

但我不理解如何使用這個公式來找到分割點的熵。

+0

我認爲這個問題是更多地涉及交叉驗證(stats.stackexchange.com)。 – Hossein

回答

1

例如,當您將數據按a3 = 3.5拆分時,例如,您的兩個實例進入一個拆分,其餘七個實例進入另一個拆分。您應該計算每個分割的熵,然後對這兩個熵進行加權平均。對於a3 = 3.5,在蟒蛇下面的代碼會爲你:

import numpy as np 
entropy1 = -(1/2)*np.log2(1/2) - (1/2)*np.log2(1/2) 
entropy2 = -(3/7)*np.log2(3/7) - (4/7)*np.log2(4/7) 
entropy = (2/9)*entropy1 + (7/9)*entropy2 
+0

非常感謝! – user5155835