boyu-ai/Hands-on-ML

12 决策树 C4.5算法

Opened this issue · 1 comments

请问此处计算信息增益比的分母是否有误?

image
image

然而在本书中的计算却是这样的

   # 计算特征feat <= val本身的复杂度H_Y(X)
    def entropy_YX(self, X, Y, feat, val):
        HYX = 0
        N = len(Y)
        if N == 0:
            return 0
        Y_l = Y[X[:, feat] <= val]
        HYX += -self.aloga(len(Y_l) / N)
        Y_r = Y[X[:, feat] > val]
        HYX += -self.aloga(len(Y_r) / N)
        return HYX

此处的式子仅有 image

同样发现了这个问题,尝试了改为书中内容。对结果影响并不显著,但是用书中的形式更加符合逻辑。