ID3算法哺乳动物分类实例

ID3算法哺乳动物分类实例

  • 算法key:属性是否重要通过信息增益大小判断,而信息增益本质是两个熵值之差(不考虑 i i 属性的分类结果的熵值与考虑 i i 属性分类结果的熵值)
    m a x ( G a i n ( S , A i ) ) = E n t r o p y ( S ) j = 1 v S j S E n t r o y ( S j ) max(Gain(S,A_i))=Entropy(S)-\sum_{j=1}^v\frac{S_j}{S}Entroy(S_j)

    其中, v v 表示属性 i i 的类型, j = 1 , 2 , 3... v j=1,2,3...v 表示属性 i i 的类型有 v v 种, E n t r o p y ( S ) Entropy(S) 表示一个属性也不考虑的分类结果熵值,后面一部分是考虑属性 i i 的熵值,前面系数赋权, S S 表示样本个数, S j S_j 表示样本中属性 i i 的类型 j j 的数量。

  • 是否哺乳动物分类ID3算法实例如下:
    在这里插入图片描述

  1. 观察样本数据发现如下:
    第一,有14个样本
    第二,有4个属性 i = 1 , 2 , 3 , 4 i=1,2,3,4
    第三,有2种分类结果,是否哺乳
  2. 计算公式如下:
    E n t r o p y ( S ) = i = 1 m P i l o g 2 P i Entropy(S)=-\sum_{i=1}^mP_i*log2^{P_i}

m a x ( G a i n ( S , A i ) ) = E n t r o p y ( S ) j = 1 v S j S E n t r o y ( S j ) max(Gain(S,A_i))=Entropy(S)-\sum_{j=1}^v\frac{S_j}{S}Entroy(S_j)

  1. ID3具体算法操作如下:
  • 首先,计算不考虑4个属性的样本本来的熵值 E n t r o p y ( S ) Entropy(S)

  • 接着计算考虑属性 i i 的样本熵值,并作差
    m a x ( G a i n ( S , A i ) ) = E n t r o p y ( S ) j = 1 v S j S E n t r o y ( S j ) max(Gain(S,A_i))=Entropy(S)-\sum_{j=1}^v\frac{S_j}{S}Entroy(S_j)

    比如,不考虑属性 i = 1 , 2 , 3 , 4 i=1,2,3,4 (即饮食习性,胎生动物,水生动物,会飞),且针对属性 i i 的类型 j = 1 , 2 , 3... v j=1,2,3...v 的计算结果如下:
    在这里插入图片描述

  • 取增益最大属性胎生动物,即胎生动物为决策树根节点

  • 简化压缩表格(不考虑已选出属性),重复算法做递归,不断选取次优属性,直到完成全部分类,作出决策树。

发布了22 篇原创文章 · 获赞 3 · 访问量 3103

猜你喜欢

转载自blog.csdn.net/weixin_39920026/article/details/103973968