0.机器学习中分类和预测算法的评估:
- 准确率
- 速度
- 强壮性
- 可规模性
- 可解释性
1.什么是决策树/判定树(decision tree)?
1.1.判定书是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。
如图,首先根据天气这个属性可以分为三类,sunny在根据humidity这个属性进行分类,到最后的标记都属于通一个类别。
1.2机器学习中分类方法中的一个重要算法
1.3构造决策树的基本算法
根据左边的表格,建立了右边的决策树,那是如何建立的呢?,为什么根节点是age这个属性?
首先引入熵(entropy)的概念:
公式: ——>变量的不确定性越多,熵也就越大。
第二步,选择属性判断结点
注:Info即没有属性A分类时的熵,Infor_A即有属性A 分类时的熵。
根据公式计算上述的例子中的属性的熵,判断哪个为根节点。
重复上述的操作。
几点注意:
1.所有的属性都是分类的,即离散值。连续性必须离散化。
2.上述递归划分停止的条件
- 给定结点的所有样本属于同一类。
- 没有剩余的属性可以用来进一步划分样本。在此情况下,使用多数表决
3.剪枝
作为决策树中一种放置Overfitting过拟合的手段,分为预剪枝和后剪枝两种。
- 预剪枝:当决策树在生成时当达到该指标时就停止生长,比如小于一定的信息获取量或是一定的深度,就停止生长。
- 后剪枝:当决策树生成完后,再进行剪枝操作。优点是克服了“视界局限”效应,但是计算量代价较大。
还有一些其他的算法:
其他算法即选择哪个为属性根结点的度量方式不同。
决策树的优缺点:
自己可以考虑怎么用python代码实现上述例子。