决策树简单算法思想:
构造决策树,它主要是属性的选择,来选择将元组最好的划分成不同的类的属性。
关键:
在于分裂属性。所谓分列属性就是在某个节点处按照某一个特征属性的不同划分构造不同的分支,其目标是让各个分裂子集尽可能的“纯”。尽可能的纯意味着尽量让一个分裂子集中待分类项属于同一类别。
分列属性有三种不同情形:
1:属性离散,且不要求生成二叉决策树。此时属性的每一个划分作为一个分支。
2:属性离散,要求生成二叉决策树。此时,属于此子集,不属于此子集作为一个划分。
3:属性是连续的,此时确定一个值作为分类点。大于此值,作为一个分支;小于此值,作为一个分支。
属性选择度量:ID3,C4.5
说明:熵越大,表明信息越混乱。所以用信息增益时,选择,信息增益值越大,表明混乱程度减少越大,分类越纯,特征越有益于分类。
@机器学习实战
from math import log
def createDataSet():
dataSet=[[1,1,'maybe'],[1,1,'yes'],[1,0,'no'],[0,1,'no'],[0,