算法回忆总述
首先决策树算法的一个核心思想是通过一些方法将数据递归的划分为一个树状结构。其算法流程大致如下:
- 读取数据
- 注意CSV是文本格式,读取时是r;Excel是二进制文件,读取时是rb
- 根据标准计算最优属性,一般选择香农熵,其流程如下:
- 递归每一个属性,计算该属性的总熵值,总熵值为每个值得熵得和
- 先统计该属性得所有不重复值的数据条数
- 根据公式:ent = (-item/count)*np.log2(item/count) 计算每个属性值的熵值 , 其中item为该属性值的数据数量、count为该属性的数据数量
- 将上面的每个属性值的ent相加,就得到该属性的总熵值
- 递归每一个属性,计算该属性的总熵值,总熵值为每个值得熵得和
- 根据最优属性划分数据
- 根据划分得到的数据构建决策树,接下来有几种可能:
- 如果最优属性的label唯一,那么则该属性的值即为该树节点的值
- 如果不是唯一的,则根据属性值来将其划分为对应的数据字典(例如: {属性值1:[数据1-1, 数据1-2,…]}),然后遍历该字典:
- 如果该属性值的list的label唯一,则该属性的该值几位一个节点,由此构造节点。
- 否则对该属性递归该过程来构建树。