十大经典算法之一:决策树

» 机器学习
!!!文档皆为自己记录&查阅&温故的地方!!!

定义

决策树(Decision Tree)是一种分类和回归的算法,通过判断训练数据集中特征的取值,构造出一个决策树模型,预测新的数据的分类或数值。

决策树算法采用树形结构,通过层层推理来实现最终的分类。决策树由下面几种元素构成:

  • 根节点:包含样本的全集
  • 内部节点:对应特征属性测试
  • 叶节点:代表决策的结果

处理过程:

它通过对训练数据集中数据的特征值进行判断,构造出一个决策树模型。这个模型包含一个根节点、若干个中间节点和若干个叶子节点。其中根节点代表整个数据集,中间节点代表数据中的一个特征,叶子节点代表分类结果。

构建决策树的过程中,算法首先选取一个最优的特征作为根节点,并按照该特征的取值对数据进行划分。对每个划分出的数据集,继续按照相同的方式选取最优的特征,并建立新的中间节点,直到划分出的数据集只包含同一种分类或无法再选择特征为止。

决策树的构建在实现上可以分为两种方式:ID3(机器学习最早的决策树构建算法)、C4.5、CART。其中,ID3 算法选取分裂属性的方式是信息增益,C4.5算法则选取增益率,CART算法则选取基尼指数,三种算法的区别在于对不同决策树的评价方式不同。

优缺点:

优点是:易于理解和解释;分类速度快;对缺失数据无影响。

缺点是:容易发生过拟合;无法处理连续型数据。

利用熵构建决策树

chatGPT Q&A

1、决策树如果过拟合有什么解决方法吗?

  • 剪枝:通过对决策树进行剪枝,删除决策树中一些过于复杂的分支和叶子节点,使决策树更简单,降低过拟合的风险。
  • 限制树的深度:通过限制决策树的深度或叶子节点数目等,来防止过度拟合。
  • 增加样本量:增加训练数据集的规模,可以有效减少决策树模型的过拟合。
  • 引入随机因素:随机森林等决策树的集成算法中采用将多棵决策树整合来降低决策树的过度拟合,这是通过引入随机性来实现的。
  • 特征选择:对特征进行筛选,选出最关键的特征,可以有效减少决策树模型的过拟合。

2、决策树为什么不能用来处理连续性数据?

  • 决策树并不是不能处理连续性数据,但是在处理连续性数据时,需要将其离散化。这是因为在原始的连续性数据上进行划分,引入了一种预测精度可能下降的风险。

  • 以二元分类问题为例,假设一个特征数据是连续型的,比如房屋面积。如果不将其离散化,我们可能会得到如下的两个分支: S<150和S≥150,其中S是房屋面积。这时,一个大小为149.99的房子就位于第一个分支里,但是一个大小为150.01的房子就位于第二个分支里,这两者的面积其实是非常接近的。相反,如果我们将其离散化,我们可以根据面积将房屋分为不同的类别,得到更好的预测结果。
  • 因此,对于连续型的数据,通常我们需要将其离散化为有限的数量的值,然后再利用决策树算法进行处理。

其它涉及概念

数据离散化:

  • 指的是将连续型数据转换为离散型数据的过程,即将一个连续型变量转换为一个有限的、离散的值域的过程。例如,将身高这种连续型变量离散化为“高,中等,矮”等几个离散的类别。

  • 离散化可以被看作是一种特殊类型的分类,其中可以将连续型数据分成不同的类别或值域。离散化后的数据可以用于分类算法,也可以用于其他需要使用离散型数据的任务。但是,离散化不一定需要根据类别来进行分组,也可以按照不同的数字分段,例如划分成等距区间、等频区间和聚类等。