本篇文章节选自 决策树分类 - 数模百科 和 决策树回归 - 数模百科,如果你想了解更多关于决策树的信息,请移步 决策树 - 数模百科
在看这篇文章之前,强烈建议大家先阅读这篇文章 【数模百科】一篇文章讲清楚决策树如何进行构造和剪枝-优快云博客
分类问题
步骤与详解
决策树算法的主要步骤是先进行特征选择,根据这个特征对数据集进行分割,将其划分为两个子集,以递归的方式重复上述操作,直到满足某个停止条件。在生成树的过程中和结束后对决策树进行适当的剪枝操作以提高其泛化性。最后用生成好的决策树模型进行预测。
特征选择
决策树的构建始于选择最佳的特征来分割数据。这通常是通过计算每个特征的信息增益(或其他类似的度量)来完成的。详见文章顶部的链接文章。
分割数据
一旦我们选择了最佳的特征,我们就根据该特征的每个可能的取值来分割数据。每个取值都会生成一个子节点。然后,我们在每个子节点上重复特征选择和分割的过程,直到满足某个停止条件。
停止条件
我们会继续在每个子节点上重复特征选择和分割的过程,直到满足某个停止条件。常见的停止条件有:
-
所有样本都属于同一类别
-
没有剩余的特征
-
增加分支不能显著提高数据的纯度
当满足停止条件时,我们将当前节点标记为叶节点,叶节点代表一个类别。
生成决策树
通过以上步骤,我们就生成了一个决策树。决策树的每个内部节点代表一个特征,每个分支代表一个可能的取值,每个叶节点代表一个类别。
使用决策树进行分类
当我们得到一个新的样本时,我们可以使用决策树进行分类。从根节点开始,根据样本在每个节点的特征取值来决定走哪个分支,直到达到一个叶节点。叶节点的类别就是我们对样本的预测结果。
代码
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import Decision