AI产品经理必懂算法:决定筹划树_算法_决议计划树
时隔半月,已近年终。AI产品经理必懂算法的第三篇终于来了,本日想和大家聊的是决策树,闲言少叙,切入正题。
先上定义,决策树(Decision Tree),又称判断树,它是一种以树形数据构造来展示决策规则和分类结果的模型,作为一种归纳学习算法,其重点是将看似无序、凌乱的已知实例,通过某种技能手段将它们转化成可以预测未知实例的树状模型,每一条从根结点(对终极分类结果贡献最大的属性)到叶子结点(终极分类结果)的路径都代表一条决策的规则。
说完了拗口的定义,老规矩,我们还是用比较普通易懂的例子,来讲述决策树算法的事理。
决策树也是一种监督学习的分类算法,哀求输入标注好类别的演习样本集,每个演习样本由多少个用于分类的特色来表示。决策树算法的演习目的在于构建决策树,希望能够得到一颗可以将演习样本按其种别进行划分的决策树。
案例:假设现在我们想预测的是,女性到底想要嫁什么样的人?我们现在手里拥有一些未婚男性的数据,个中包括了收入、房产、样貌、学历等字段。
提示:在构建决策树时,每次都要选择区分度最高的特色,利用其特色值对数据进行划分,每次花费一个特色,不断迭代,直到所有特色均被利用为止。
如果还未利用全部特色,剩下的演习样本就已经具有相同种别了,则决策树的构建可以提前完成。如果利用全部特色后,剩下的演习样本中仍旧包含一个以上的种别,则选择剩下的演习样本中占比最大的种别作为这批演习样本的种别。利用决策树的思想,首先我们要考虑的是,上述哪些条件在女性选择男友时最主要的考量指标?好了,假设我就比较在意收入、比较在意物质好了,那么我构建的决策树该当是什么样的呢?来张图大家就明白了。
释义:这张图想表达的意思便是说,我们从如下几个方面去判断,是否要嫁?首先,看其收入是否达到1w元,未达标的不嫁,从已经合格的人群中连续挑选,是否有房产,没有的弗成,以此类推,我们将所有的主要指标都过滤一遍往后,就构建出一个完全的决策树了,在此之后,有任何男青年放在这儿,我们都能通过决策树,轻松预测出,此人是否可嫁?
我们来出个题试试,某男,风骚倜傥、风姿翩翩,但是没有独立房产,收入不固定、学通书科,那么到底要不要嫁呢?
图中的收入、房产、学历等都属于特色,每一个特色都是一个判断的节点,那些不可再向下延伸的便是叶子节点。可再分的称之为分支节点。
接下来理解下决策树算法的演进历史,这个中就包含了主流的几种决策树算法,顺便我们也可以理解一下这几种决策树的差别。
1. ID3(Iterative Dichotomiser 3)
J.R.Quinlan在20世纪80年代提出了ID3算法,该算法奠定了日后决策树算法发展的根本。ID3采取喷鼻香浓的信息熵来打算特色的区分度。选择熵减少程度最大的特色来划分数据,也便是“最大信息熵增益”原则。它的核心思想因此信息增益作为分裂属性选取的依据。
存在的毛病:该算法未考虑如何处理连续属性、属性缺失落以及噪声等问题。
下面来先容两个与此有关的观点:
信息熵是一种信息的度量办法,表示信息的混乱程度,也便是说:信息越有序,信息熵越低。举个列子:火柴有序放在火柴盒里,熵值很低,相反,熵值很高。它的公式如下:
信息增益:在划分数据集前后信息发生的变革称为信息增益,信息增益越大,确定性越强。
2. C4.5
J.R.Quinlan针对ID3算法的不敷设计了C4.5算法,引入信息增益率的观点。它战胜了ID3算法无法处理属性缺失落和连续属性的问题,并且引入了优化决策树的剪枝方法,使算法更高效,适用性更强。
后续,在1996年Mehta.M等人提出了C4.5算法的改进算法SLIQ算法,该算法采取属性表、分类表、类直方图的策略来办理内存溢出的问题。
同样先容一下信息增益率:在决策树分类问题中,即便是决策树在进行属性选择划分前和划分后的信息差值。
3. CART(Classification and Regression Tree)
Breiman.L.I等人在1984年提出了CART算法,即分类回归树算法。CART算法用基尼指数(Gini Index)代替了信息熵,用二叉树作为模型构造,以是不是直接通过属性值进行数据划分,该算法要在所有属性中找出最佳的二元划分。CART算法通过递归操作不断地对决策属性进行划分,同时利用验证数据对树模型进行优化。
CART中用于选择变量的不纯性度量是Gini指数,总体内包含的种别越凌乱,GINI指数就越大(跟熵的观点很相似)。
2000年Rastogi.R等人以CART算法为理论根本,提出了PUBLIC(A Decision Tree Classifier that Integrates Building and Pruning)算法,剪枝策略更加高效。
当我们理解了决策树的大概情形之后,接下来就学习一下,如何布局决策树?
第一步:特色选择;第二步:决策树的天生;第三步:决策树的剪枝。
我们来着重先容一下剪枝。
剪枝的目的:决策树是充分考虑了所有的数据点而天生的繁芜树,有可能涌现过拟合的情形,决策树越繁芜,过拟合的程度会越高。考虑极度的情形,如果我们令所有的叶子节点都只含有一个数据点,那么我们能够担保所有的演习数据都能准确分类,但是很有可能得到高的预测偏差,缘故原由是将演习数据中所有的噪声数据都”准确划分”了,强化了噪声数据的浸染。剪枝修剪分裂前后分类偏差相差不大的子树,能够降落决策树的繁芜度,降落过拟合涌现的概率。
如何剪枝?
先剪枝:当熵减少的数量小于某一个阈值时,就停滞分支的创建。这是一种贪心算法。后剪枝:先创建完全的决策树,然后再考试测验肃清多余的节点,也便是采取减枝的方法。把稳事变:
决策树的天生对应模型的局部选择,决策树的剪枝对应于模型的全局选择。决策树的天生只考虑局部最优,决策树的剪枝则考虑全局最优。
说了这么多,我们来总结一下决策树算法的优、缺陷,以便理解的更为深入。
优点:
决策树易于理解和实现.人们在通过阐明后都有能力去理解决策树所表达的意义。打算繁芜度不高,输出结果易于理解,数据缺失落不敏感,可以处理不干系特色。缺陷:
随意马虎过拟合。对付各种别样本数量不一致的数据,在决策树当中信息增益的结果倾向于那些具有更多数值的特色。本文由 @燕然未勒 原创发布于大家都是产品经理。未经容许,禁止转载。
题图来自 Unsplash ,基于 CC0 协议。
本文系作者个人观点,不代表本站立场,转载请注明出处!