决策树
目录
1.1 决策树模型
案例:修猫分类器;有一组包含猫和狗的图片数据集,根据耳朵形状(ear shape),脸的形状(face shape),胡子(whiskers)的特征判断图片上的是不是猫。

如果耳朵形状是尖尖的,脸的形状是圆的,那么判断为猫;
如果耳朵形状是尖尖的,脸的形状是不圆,那么判断为非猫;
如果耳朵形状是松软的,有胡子,那么判断为猫;
如果耳朵形状是松软的,无胡子,那么判断为非猫。
决策树如下图:

术语:
根节点(root node):最顶端的节点;
决策节点(decision nodes):所有决定下一步走向的节点,包括根节点;图中所有椭圆节点;
叶子结点(leaf nodes):树最底端的节点,给出预测结果的节点;图中所有矩形节点。
1.2 学习过程
决策1:如何在每个节点处选择合适的特征/属性(How to choose what feature to split on at each node)?
纯度最大化/最小化(Maximize or minimize purity):比如第一个节点,有三种可能的特征,但只有选择耳朵形状时,节点所分出的两个分类中,猫的占比分别最大和最小;因此选耳朵形状作为该节点的特征。
决策2:什么时候停止划分(When do you stop splitting)?
- 当节点获得了100%的分类结果(When a node is 100% one class);
- 当划分节点会导致超过树的最大深度(When splitting a node will result in the tree exceeding a maximum depth);
- 当纯度值的增长低于一定阈值(When improvements in purity score are below a threshold);
- 当节点中案例数量低于一定阈值(When number of examples in a node is below a threshold)。
2.1 纯度(Measuring purity)
熵——衡量纯度的概念(Entropy as a measure of impurity)

如图,p1指代一组分类结果中猫的占比(剩下的是狗);H(p1)是熵;图中为熵与p1的关系;可见熵随着纯度的增大呈现先增大后减小的趋势;在p1=0.5时(如,3个猫3个狗)熵达到最大值1,在p1分别为0(6个狗)和1(6个猫)两个端点时,熵最小,值为0。
图中熵函数的公式:
首先定义集合中除了猫之外的小动物占比:
p 0 = 1 − p 1 {p_0} = 1 - {p_1} p0=1−p1
熵函数:
H ( p 1 ) = − p 1 log 2 ( p 1 ) − p 0 log 2 ( p 0 ) H\left( {
{p_1}} \right) = - {p_1}{\log _2}\left( {
{p_1}} \right) - {p_0}{\log _2}\left( {
{p_0}} \right) H(p1)=−p1

 决策树(Decision Trees)&spm=1001.2101.3001.5002&articleId=128724845&d=1&t=3&u=bb382069fed84362839efd927ea77309)
1572

被折叠的 条评论
为什么被折叠?



