代码改变世界

决策树学习算法 - ID3算法

2013-12-04 11:03  血糯米Otomii  阅读(290)  评论(0编辑  收藏  举报

ID3算法概要:

 

熵值公式:

举例:

熵值公式用于判断一个样本集是否均匀分布,值的区间在[0,1]内,他有以下特点

  1.分布越均匀,值越大

  2.如果成单一分布,那么值为0

图例:

故可以推出通式(其中C为不同的状态):

 

又推出某个属性相对于结果的公式(其中A为属性,为属性集):

举例:

又:

我们可以看出Humidity比Wind更有价值。

PS:

1.用属性分割后结果越平均,越小,属性的价值越小

2.用属性分割后结果越不平均,越大,属性的价值越大(当属性呈一边倒时,值为最大值,即本身)

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------------

 

 

一个完整的实例:

样本集:

 

 

取Outlook为第一个分支节点。

继续选择下个测验属性Humidity。

最后:

 

-------------------------------------------------------------------------------------------------------------------------------------------

算法缺点:

1.ID3算法不进行回溯,其收敛到局部最优解,而不是全局最优解。

2.当存在错误或噪声时,会产生过渡拟合

 

----------------------------