店面设计公司,上海网站优化哪家好,苏州企业网站建设,还是新能源专业好秒懂机器学习---当机器学习遇上决策树.... 一、总结 一句话总结#xff1a; 多多看图#xff0c;图的直观效果很好#xff0c;很多时候文字实在表达不清 1、决策树#xff08;Decision Tree#xff09;中的各个节点表示什么意思#xff1f; 每一个树节点表示一个属性上的… 秒懂机器学习---当机器学习遇上决策树.... 一、总结 一句话总结 多多看图图的直观效果很好很多时候文字实在表达不清 1、决策树Decision Tree中的各个节点表示什么意思 每一个树节点表示一个属性上的测试 每一个分支代表一个属性的输出 每一个树叶节点代 表一个类或者类的分布 决策树是一个类似于流程图的树结构其中每一个树节点表示一个属性上的测试每一个分支代表一个属性的输出每一个树叶节点代 表一个类或者类的分布树的最顶层是树的根节点。 2、决策树怎么决定是否扩展分支 看叶子粒度是否达到要求比如正例或者反例都不为0时那么就要根据属性继续往下扩展树。 3、信息熵如何计算比如16只NBA球队谁夺冠先假设每个球队的夺冠几率一样 二分法猜log164; P1*logP1P2*logP2...P16*logP16:夺冠概率不一样的情况 举个例子NBA总决赛的夺冠球队假设你对NBA球队一无所知你需要猜多少次假设每个球队的夺冠几率都是一样的这里我们可以给进入季后赛的NBA球队进行编号NBA季后赛会选出16支球队然后使用二分法进行猜测猜测冠军队伍在1-8号球队之间是的话在进行二分不是的话就在9-16号球队之间这样我们要猜测的次数最多是4次2^416嘛。信息熵使用比特bit来衡量信息的多少计算公式如下-P1*log2 P1P2*log2 P2...P16*log2 P16----计算NBA季后赛总冠军的夺冠球队的信息熵值含义是每一个球队的夺冠概率乘以以2为底这个队夺冠的对数。P1、P2...PN表示哪一支球队的夺冠概率假设每一个球队夺冠的概率都相等的话那么这里算出的信息熵值就是4当然这种情况是不太可能存在的因为每一个球队的实力不一样嘛。 4、信息熵的值和不确定性的关系 变量的不确定越大熵的值也就越大 5、信息获取量是什么 Gain(A)Info(D)-Info_A(D) ----A属性的信息获取量的值就等于【不按任何属性进行分类的时候的信息量】加上【有按A这个属性进行分类的时候的信息量】注意这里信息量的符号是负号所以说“加上”。 在决策树算法中我们如何确定哪个属性应该先选择出来哪个属性应该后选择出来当做树的节点信息获取量大的优先选比较大小年龄的信息获取量是最大的所以选择年龄作为第一个根节点。 6、决策树算法为什么需要剪枝 训练集上表现好测试集上表现差过度拟合当树的深度太大时设计的算法在训练集上的表现会比较好但是在测试集上的表现却会很一般这时我们就要对树进行一定的裁剪 7、决策树的优缺点是什么 直观便于理解小规模数据集有效 决策树的优点 处理连续变量不好类别较多时错误增加的比较快可规模性一般决策树的缺点 二、机器学习入门之决策树算法 参考机器学习入门之决策树算法https://www.cnblogs.com/getMyCodes/p/7259422.html 1、什么是决策树Decision Tree 决策树是一个类似于流程图的树结构其中每一个树节点表示一个属性上的测试每一个分支代表一个属性的输出每一个树叶节点代 表一个类或者类的分布树的最顶层是树的根节点。 举一个例子。小明同学想根据天气情况是否享受游泳运动 这里包含了6个属性一条样例即为一个实例待学习的概念为“是否享受运动”学习目标函数f:X-Y。 根据上面的表中实例我们可以试着用一个树结构的流程图来表示小明根据那6个属性决定是否享受运动 从上面这个树状图中我们可以看到总共的实例有14个出去运动的实例有9个不运动的实例有5个从树顶往下看首先看到菱形的选项意思是天气如何然后分出了三个分支——晴天阴天雨天。实例中是天气属性为晴天并决定要去运动的有2个不去运动的有3个天气属性为阴天并决定去运动的有4个不运动的有0个天气属性为雨天并决定去运动的有3个不运动的有2个。从图中我们可以看到当标记中的正例或者反例为0个时树就不继续往下扩展了比如天气属性为阴天的时候不去运动的实例为0个。假如正例或者反例都不为0时那么就要根据属性继续往下扩展树。 决策树是机器学习中分类方法中的一个重要算法。 2、如何构造一个决策树算法 1信息熵 信息是一种抽象的概念那么如何对信息进行一个量化的操作呢1948年香农提出了“信息熵”的概念。一条信息的信息量大小和它的不确定性有直接的关系要搞清楚一件非常不确定的事情或者说我们对一件事情一无所知就需要了解大量的信息信息量的度量就等于不确定性的多少。 举个例子NBA总决赛的夺冠球队假设你对NBA球队一无所知你需要猜多少次假设每个球队的夺冠几率都是一样的这里我们可以给进入季后赛的NBA球队进行编号NBA季后赛会选出16支球队然后使用二分法进行猜测猜测冠军队伍在1-8号球队之间是的话在进行二分不是的话就在9-16号球队之间这样我们要猜测的次数最多是4次2^416嘛。 信息熵使用比特bit来衡量信息的多少计算公式如下 -P1*log2 P1P2*log2 P2...P16*log2 P16----计算NBA季后赛总冠军的夺冠球队的信息熵值含义是每一个球队的夺冠概率乘以以2为底这个队夺冠的对数。P1、P2...PN表示哪一支球队的夺冠概率假设每一个球队夺冠的概率都相等的话那么这里算出的信息熵值就是4当然这种情况是不太可能存在的因为每一个球队的实力不一样嘛。 变量的不确定越大熵的值也就越大。 2决策树归纳算法ID3 这个算法是1970-1980年由J.Ross.Quinlan发明的。 在决策树算法中比较重要的一点是我们如何确定哪个属性应该先选择出来哪个属性应该后选择出来当做树的节点。这里就涉及到了一个新的概念叫做信息获取量公式如下 Gain(A)Info(D)-Info_A(D) ----A属性的信息获取量的值就等于不按任何属性进行分类的时候的信息量加上有按A这个属性进行分类的时候的信息量注意这里信息量的符号是负号所以说“加上”。 以是否购买电脑的案例为例子给出了14个实例如下图所示 不按任何属性进行分类的情况下计算信息获取量Info(D) 以年龄属性进行分类的情况下计算信息获取量 所以Gain(age)0.940-0.6940.246 bits 同理我们可以算出Gain(income) 0.029, Gain(student) 0.151, Gain(credit_rating)0.048。比较大小年龄的信息获取量是最大的所以选择年龄作为第一个根节点。再次同理后面的节点选择也是按照这样的计算方法来决定以哪个属性作为节点。 3结束条件 当我们使用递归的方法来创建决策树时什么时候停止节点的创建很关键。综上停止节点创建的条件有以下几点 a、给定节点的所有样本属性都属于同一种标记的时候比如2中的例子以年龄为属性创建的节点下有三个分支 senioryouth、middle_age。其中middle_age的所有实例的标记都是yes也就是说中年人都会买电脑这种情况下这个节点就可以设置成树叶节点了。 b、当没有剩余属性用来进一步划分样本时就停止节点的创建采用多数表决。 c、分枝 3、其它算法 C4.5、CART算法。这几个算法都是贪心算法自上而下只是选择属性的度量方法不同。 4、树剪枝叶 避免overfitting) 当树的深度太大时设计的算法在训练集上的表现会比较好但是在测试集上的表现却会很一般这时我们就要对树进行一定的裁剪 1先剪枝 当分到一定程度就不向下增长树了。 2后剪枝 把树完全建好后根据类的纯度来进行树的裁剪。 5. 决策树的优点 直观便于理解小规模数据集有效 6. 决策树的缺点 处理连续变量不好类别较多时错误增加的比较快可规模性一般。 转载于:https://www.cnblogs.com/Renyi-Fan/p/10977436.html