【发布时间】:2017-04-14 20:55:57
【问题描述】:
我正在尝试实现 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 作为最好的特征进行分割时,在下面的过程中,我将不再考虑属性“credit”。
但是:我也看到一些这样的实现:
IG(credit=normal) = H(D) - P(credit==normal)H(D|credit==normal) - P(credit ~= normal)H(D|credit ~= normal)
当我选择 credit == normal 作为分割的最佳特征时,在以下过程中,我将再次考虑属性“credit”,例如 credit ==“bad”。
不同IG计算过程的结果树,一个是非二叉树,一个是二叉树。
我的问题是两棵树是否等价?当我在两棵树上进行测试时,结果总是一样的吗?或者一个比另一个更好?还是很难说哪个更好,仅取决于数据?
【问题讨论】:
标签: machine-learning decision-tree