数据挖掘之决策树面试基础问题汇总

目录

决策树

Q1:决策树是什么?

Q2:信息增益中信息熵的概念是什么?

Q3:在一个样本集中,其中有100个样本属于A,9900个样本属于B,若通过决策树算法来实现对A、B样本的分类,会遇到什么问题?

Q4:什么是过拟合?决策树出现过拟合现象如何处理?

Q5:预剪枝和后剪枝是什么?剪枝包含哪些参数?

Q6:决策树算法如何对特征进行筛选?

Q7:正则化

Q8:决策树算法和逻辑回归算法之间的区别?

Q9:算法进行模型评估的过程中,常用的一些指标都有哪些,精度、召回率、ROC曲线,这些指标的具体是什么含义?

Q10:K-means算法的思想是什么?


决策树

Q1:决策树是什么?

决策树一种分类算法,基于决策树算法评价指标的不同,主要可分为是ID3算法,C4.5算法和CART算法,其中ID3算法的评价指标是信息增益,C4.5算法的评价指标是信息增益率,CART算法的评价指标是基尼系数。无论是哪种,决策树的目的都是为了让模型的不确定性降低的越快越好,从而达到更好的分类效果。

Q2:信息增益中信息熵的概念是什么?

香农熵,它主要是对随机变量不确定性的度量。利用ID3算法,每一次对决策树进行分叉选取属性的时候,我们会选取信息增益最高的属性来作为分裂属性,只有这样,决策树的不确定性才会降低的越快。

Q3:在一个样本集中,其中有100个样本属于A,9900个样本属于B,若通过决策树算法来实现对A、B样本的分类,会遇到什么问题?

欠拟合现象,因为在这个样本集中,AB样本属于严重失衡状态,在建立决策树算法的过程中,模型会更多的偏倚到B样本的性质,对A样本的性质训练较差,不能很好的反映样本集的特征。

对于样本不平衡的现象,常见的处理方法主要是:

  • 过采样和欠采样
  • 通过正负样本的惩罚权重进行平衡
  • 通过进行类别均衡采样处理

Q4:什么是过拟合?决策树出现过拟合现象如何处理?

对训练数据预测效果很好,但是测试数据预测效果较差,则称出现了过拟合现象。

对于过拟合现象产生的原因,有以下几个方面:

  • 第一:在决策树构建的过程中,对决策树的生长没有进行合理的限制(剪枝);
  • 第二:在建模过程中使用了较多的输出变量,变量较多也容易产生过拟合;
  • 第三:样本中有一些噪声数据,噪声数据对决策树的构建的干扰很多,没有对噪声数据进行有效的剔除。

对于过拟合现象的预防措施,有以下一些方法:

  • 第一:选择合理的参数进行剪枝,可以分为预剪枝后剪枝,我们一般用后剪枝的方法来做;
  • 第二:K-folds交叉验证,将训练集分为K份,然后进行K次的交叉验证,每次使用K-1份作为训练样本数据集,另外的一份作为测试集合(作者说反了,应该是份作为测试集,其余k-1份作为训练集);
  • 第三:减少特征,计算每一个特征和响应变量的相关性,常见的为皮尔逊相关系数,将相关性较小的变量剔除,当然还有一些其他的方法来进行特征筛选,比如基于决策树的特征筛选,通过正则化的方式来进行特征选取等。

Q5:预剪枝和后剪枝是什么?剪枝包含哪些参数?

预剪枝就是在决策树生成初期就已经设置了决策树的参数,后剪枝是在决策树完全建立之后再返回去对决策树进行剪枝;

剪枝分为预剪枝和后剪枝,参数有很多,在R和Python中都有专门的参数来进行设置,下面我以Python中的参数来进行叙述,max_depth(树的高度),min_samples_split(叶子结点的数目),max_leaf_nodes(最大叶子节点数),min_impurity_split(限制不纯度),当然R语言里面的rpart包也可以很好的处理这个问题。

Q6:决策树算法如何对特征进行筛选?

以ID3为例,对于离散变量,计算每一个变量的信息增益,选择信息增益最大的属性来作为结点的分裂属性;

而对于连续变量,首先将变量的值进行升序排列,每对相邻值的中点作为可能的分离点,对于每一个划分,选择具有最小期望信息要求的点作为分裂点,来进行后续的决策数的分裂。

Q7:正则化

Q8:决策树算法和逻辑回归算法之间的区别?

决策树与逻辑回归的区别:

  • 第一,逻辑回归着眼于对整体数据的拟合,在整体结构上优于决策树; 但是决策树采用分割的方法,深入到数据内部,对局部结构的分析是优于逻辑回归;
  • 第二,逻辑回归对线性问题把握较好,因此我们在建立分类算法的时候也是优先选择逻辑回归算法,决策树对非线性问题的把握较好;
  • 第三,从本质来考虑,决策树算法假设每一次决策边界都是和特征相互平行或垂直的,因此会将特征空间划分为矩形,因而决策树会产生复杂的方程式,这样会造成过拟合现象;逻辑回归只是一条平滑的边界曲线,不容易出现过拟合现象。
     

Q9:算法进行模型评估的过程中,常用的一些指标都有哪些,精度、召回率、ROC曲线,这些指标的具体是什么含义?

  • 精度(precision),精确性的度量,表示标记为正例的元组占实际为正例的比例;
  • 召回率(recall),完全性的度量,表示为实际为正例的元组被正确标记的比例;

ROC 曲线的横坐标为假阳性,纵坐标为真阳性,值越大,表示分类效果越好。

  • 1. ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。
  • 2.有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。
  • 3.可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。

Q10:K-means算法的思想是什么?

对于K-means算法,可以分为以下几个步骤:

  • 第一,从数据点中随机抽取K个数据点作为初始的聚类中心;
  • 第二:计算每个点到这K个中心点的距离,并把每个点分到距离其最近的中心中去;
  • 第三:求取各个类的均值,将这些均值作为新的类中心;
  • 第四:重复进行步骤二三过程,直至算法结束,算法结束有两种,一种是迭代的次数达到要求,一种是达到了某种精度。

 

 

 

 

 

你可能感兴趣的:(Machine,Learning,Data,Mining)