我试图实施ID3或C4.5算法。
根据ID3算法,信息增益计算如下:
例如:训练数据如下:
credit age label
normal young yes
normal old yes
bad old no
excellent middle yes
信用证IG应该是这样的:IG(credit) = H(D) - P(credit==normal)H(D|credit==normal) - P(credit==bad)H(D|credit==bad) - P(credit==excellent)H(D|credit==excellent)
当我选择信用证作为拆分的最佳功能时,在以下步骤中,我不会考虑属性" credit"试。
然而:我也看到有人像这样实现:
IG(credit=normal) = H(D) - P(credit==normal)H(D|credit==normal) - P(credit ~= normal)H(D|credit ~= normal)
当我选择credit == normal作为拆分的最佳功能时,在下面的过程中,我将考虑属性" credit"再次,如信用=="坏"。
得到的不同IG计算结果树,一个是非二叉树,另一个是二叉树。
我的问题是两棵树是否相同?当我在两棵树上进行测试时,结果总是一样的吗?或者一个比其他更好?或者很难说哪个更好,仅仅取决于数据?
答案 0 :(得分:0)
正如您所提到的,一棵树将执行多路分割其他二元分割。 2棵树绝对不是等价的,因此测试结果也不一样。但两种情况下的准确度可能在相似的范围内。建议您最后2个关于哪种型号更好的问题取决于您的数据。