Task02 基于决策树的分类预测

本文深入介绍了决策树的概念,包括其优点如可解释性和计算复杂度低,以及缺点如过拟合和对连续特征处理不佳。通过企鹅数据集的实战,展示了决策树在数据探索与分析、训练和预测中的应用。此外,文章讨论了决策树的重要知识点,如信息增益、基尼系数和关键参数。最后,提到了ID3、C4.5、CART的区别,以及随机森林和XGBoost的原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1决策树的介绍和应用

决策树的核心思想是基于树结构对数据进行划分:
在这里插入图片描述
如上图:决策树的结构一般包含一个根节点,若干个内部节点和若干个叶节点;根节点包含所有样本。内部节点是样本的属性,叶节点是结论。每条从根节点到叶节点的路径就代表一种属性判定路径。

1.1 决策树的主要优点:

(1) 具有很好的解释性,模型可以生成可以理解的规则。
何为可解释性?即模型逻辑/预测结果多大程度上是人类可以理解的,也就是说我们能够理解一个模型的整个逻辑,并遵循整个推理导致所有不同的可能结果。
(2)可以发现特征的重要程度。
特征的重要程度,比如我们如何知道根节点需要选择“有房”这个属性,而不是其他的“有车”“有存款”等等?数学上有一种方法就是信息熵。整个过程的描述有点复杂,可以查看链接: link.除了信息熵以外还有基尼系数,这一点下面会讲到。
(3)模型的计算复杂度较低。
对于第三点,个人理解,树结构无非就是多个if-else判断,执行起来自然不会太复杂。

1.2 决策树的主要缺点:

(1) 模型容易过拟合,需要采用减枝技术处理。
容易过拟合是因为每个属性都被详细地加以考虑,一棵树如果结点过多,表明该模型可能对数据进行了“过拟合”。
通过降低树的复杂度来避免过拟合的过程称为剪枝(pruning)。一般有两种剪枝方法,分别是预剪枝和后剪枝,预剪枝技术主要是通过建立某些规则限制决策树的充分生长, 后剪枝技术则是待决策树充分生长完毕后再进行剪枝。
(2)不能很好利用连续型特征。
(3)预测能力有限,无法达到其他强监督模型效果。
(4)方差较高,数据分布的轻微改变很容易造成树结构完全不同。

1.3 决策树的应用

还是一样使用一个小Demo讲解。
首先是使用决策树需要导入的库函数

## 导入决策树模型函数
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree

然后调用模型,用于拟合数据集

##Demo演示LogisticRegression分类

## 构造数据集
x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]])
y_label = np.array([0, 1, 0, 1, 0, 1])
## 调用决策树回归模型
tree_clf = DecisionTreeClassifier()

## 调用决策树模型拟合构造的数据集
tree_clf = tree_clf.fit(x_fearures, y_label)

这里构造的数据一共有6个样本,分为两类,每类各三个样本。
我们可以可视化决策树,观察内部地逻辑结构

## 可视化决策树
import graphviz
dot_data = tree.export_graphviz(tree_clf, out_file=None)
graph = graphviz.Source(dot_data)
graph.render("pengunis")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值