决策树是一常见的机器学习算法,本例程将参考《机器学习实践》中的代码完成
决策树算法中,信息熵被用来定义数据的纯度。
假定当前样本集合D中第k类样本所占比例为 p k p_k pk ,则有 E n t ( D ) = − ∑ k = 1 n p k log 2 p k Ent(D)=-\sum_{k=1}^n p_k \log_2 p_k Ent(D)=−k=1∑npklog2pk
我们认为Ent(D)的值越小,则D的纯度越高。
假定离散属性a有V个可能的取值 { a 1 , a 2 , . . . , a V } \{ a^1, a^2, ..., a^V \} { a1,a2,...,aV} ,若用a对样本集D进行划分,则会产生V个分支结点,其中第v个结点包含了D中所有在属性a上取值为 a v a^v