机器学习算法面试—口述(4):决策树

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此

算法的常见面问题!

决策树是一种依托于策略抉择而建立起来的树,是一种依托于分类、训练上的预测树,根据已知,预测和分类未来。

决策树的建立是不断的使用数据的特征将数据分类的过程,主要的问题在于如何选择划分的特征;

常用的几种决策树算法有ID3、C4.5、CART等;其中ID3使用的是信息熵增益选大的方法划分数据,C4.5是使用增益率选大的方法划分数据,CART使用的是基尼指数选小的划分方法;

ID3:

该算法是以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。ID3算法往往偏向于选择取值较多的属性,而在很多情况下取值较多的属性并不总是最重要的属性。而且ID3算法不能处理具有连续值的属性,也不能处理具有缺失数据的属性。

具体怎么算可以看一个例子:http://wenku.baidu.com/link?url=V_-Eh4p8UVaV93xT2MKUlbDVT1k1b9khZNa1hJOb1Fx0mNTDaLYLNqs4Chlz5nErVTtRG7V60RzPggzuZk26gyocFYXbliZhZ7VjDFqjfHe

C4.5:

使用的是增益率的划分方法,是ID3的一个改进,具有较高的准确率且可以处理连续属性。在构造树的过程中进行剪枝,使用的是悲观剪枝法(使用错误率来评估)!在构造树的过程中需要对树进行多次顺序扫描和排序,因此效率比较低,并且C4.5只适用于能够滞留于内存的数据集。

具体怎么算可以看一个例子:http://blog.csdn.net/xuxurui007/article/details/18045943

关于树的剪枝,可以参考:http://blog.csdn.net/woshizhouxiang/article/details/17679015

CART:

使用基尼指数的划分准则;通过在每个步骤最大限度降低不纯洁度,CART能够处理孤立点以及能够对空缺值进行处理。

树划分的终止条件:1、节点达到完全纯度; 2、树的深度达到用户所要深度

3、节点中样本的数量属于用户指定的个数;

树的剪枝方法是代价复杂性的剪枝方法;

具体见:http://blog.csdn.net/tianguokaka/article/details/9018933

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 22:31:52

机器学习算法面试—口述(4):决策树的相关文章

机器学习算法面试口述(7)—分类小结

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此 算法的常见面问题. 分类的概念就说了,分类一般分为两个阶段:学习阶段以及分类阶段: 常用的分类方法有: 1.决策树 决策树不需要任何领域的知识或者参数的设置,其可以处理高维数据,简单快速. 若分类的数据是连续的,则需要插入分裂点将数据离散化:树建立的过程中,需要按照一定的 规则选择分裂的属性,可以有信息的增益.增益率.基尼指数等等,不同的规则对应的决策树, 如前面三种分别对应ID3.C4.5.CA

机器学习算法面试—口述(5):回归

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此 算法的常见面问题. 一.Logistic回归 先说下logistic回归,它是根据现有数据对分类边界建立回归公式,以此进行分类.其计算代价不高,易于 实现与理解,但是容易欠拟合.分类精度不太高: logistic回归可以看成是一种概率估计,使用的的是sigmioid函数, 通过训练数据训练出参数[w1, w2, ..., wn],根据训练出的参数就可以求出h(x)的值,比较其 与0.5的大小(大于

机器学习算法面试—口述(3):贝叶斯分类器

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此算法的常见面试的问题! 贝叶斯分类器的原理其实很简单,知道了贝叶斯公式基本上就知道了贝叶斯分类器的工作原理.对于一个待分类项,求出此项出现的条件下哪个类别的概率大,就判定为哪类,仅次而已.其实贝叶斯分类器是建立在错误的理论上建立起来的分类器,没错就是错误的理论,它假定事物之间是没有联系的(马克思告诉我们,这是不可能的...),从而大大的简化了计算. 算法的过程如下: 首先核心的是贝叶斯公式:P(B

【机器学习算法-python实现】决策树-Decision tree(1) 信息熵划分数据集

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 决策书算法是一种逼近离散数值的分类算法,思路比較简单,并且准确率较高.国际权威的学术组织,数据挖掘国际会议ICDM (the IEEE International Conference on Data Mining)在2006年12月评选出了数据挖掘领域的十大经典算法中,C4.5算法排名第一.C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法. 算法的主要思想就是将数据集依照特

【机器学习算法-python实现】决策树-Decision tree(2) 决策树的实现

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 接着上一节说,没看到请先看一下上一节关于数据集的划分数据集划分.如今我们得到了每一个特征值得信息熵增益,我们依照信息熵增益的从大到校的顺序,安排排列为二叉树的节点.数据集和二叉树的图见下. (二叉树的图是用python的matplotlib库画出来的) 数据集: 决策树: 2.代码实现部分 由于上一节,我们通过chooseBestFeatureToSplit函数已经能够确定当前数据集中的信息熵最大的

【转】常见面试之机器学习算法思想简单梳理

转:http://www.chinakdd.com/article-oyU85v018dQL0Iu.html 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内

机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

http://www.cnblogs.com/tornadomeet/p/3395593.html 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大.

常见面试之机器学习算法思想简单梳理

http://www.cnblogs.com/tornadomeet/p/3395593.html (转) 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内大

常见面试之机器学习算法思想简单梳理【转】

前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内大点的公司里百度,阿里,腾讯,网易,搜狐,华为(华为的岗位基本都是随机分配,机器学习等岗位基本面向的是博士)等