机器学习之决策树

本文深入探讨了决策树的学习原理,包括生成过程、停止条件和优缺点。介绍了信息增益、信息增益率和基尼系数等划分选择标准,并详细讨论了预剪枝和后剪枝策略。此外,还涵盖了连续值处理和缺失值处理的方法,以及CART回归树的特性。最后,提到了决策树的参数调整和在时间序列数据上的应用局限性。
摘要由CSDN通过智能技术生成

决策树原理

决策树是一种分类和回归的基本模型,可从三个角度来理解它,即:

  • 一棵树
  • if-then规则的集合,该集合是决策树上的所有从根节点到叶节点的路径的集合
  • 定义在特征空间与类空间上的条件概率分布,决策树实际上是将特征空间划分成了互不相交的单元,每个从根到叶的路径对应着一个单元。决策树所表示的条件概率分布由各个单元给定条件下类的条件概率分布组成。实际中,哪个类别有较高的条件概率,就把该单元中的实例强行划分为该类别。

生成过程

一颗决策树的生成过程如下:

  1. 根据当前集合,选择最优划分属性。
  2. 根据属性不同,将样本划分到不同的子节点。
  3. 继续对子节点进行递归。

停止条件

停止条件:

  1. 当前结点包含的样本全属于同一类别,无需划分。
  2. 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分。(标记为叶节点,类别设定为该节点所含样本最多的类别)
  3. 叶子节点的样本数或信息增益小于一定阈值。

前两种容易导致过拟合。

优缺点

优点:1. 可解释性强;2. 测试数据集时,分类速度快;3. 可以同时处理标称型和数值型数据;4. 适合处理有缺失属性的样本;5. 能够处理不相关的特征。
缺点:1. 容易过拟合;2. 异常值敏感;3. 容易忽略数据集中属性的相互关联。

划分选择

决策树学习的关键是如何选择最优划分属性。特征分类能力的衡量通常采用信息增益、信息增益率、基尼系数。

信息增益(ID3)

样本集合 D D D中第 k k k类所占比例为 p k ( k = 1 , 2 , ⋯   , n ) p_k(k=1,2,\cdots,n) pk(k=1,2,,n),则 D D D的信息熵为
E n t ( D ) = − ∑ k = 1 n p k log ⁡ 2 p k {\rm Ent}(D)=-\sum_{k=1}^np_k \log_2p_k Ent(D)=k=1npklog2pk
E n t ( D ) {\rm Ent}(D) Ent(D)的最小值为0,最大值为 l o g 2 ∣ y ∣ log_{2}|y| log2y,且 E n t ( D ) {\rm Ent}(D) Ent(D)越小,纯度越高。
假设离散属性 a a a V V V个可能的取值 { a 1 , a 2 , ⋯   , a V } \{ a^1,a^2,\cdots,a^V\} { a1,a2,,a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
决策树是常用的机器学习算法之一,通过对数据的分类和特征值计算来完成对未知数据的预测。本文将介绍使用Python实现决策树算法的相关步骤。 首先,需要导入决策树算法工具包,使用以下代码: ```python from sklearn import tree ``` 然后,导入训练数据和测试数据,并进行预处理。为了方便起见,在本文中采用生成随机数的方式来生成样本数据,使用以下代码: ```python from sklearn.datasets import make_classification X, y = make_classification(n_samples=100, n_features=4, n_classes=2, n_informative=2, n_redundant=0, random_state=0, shuffle=False) ``` 接下来,使用生成的样本数据进行模型训练。这里使用scikit-learn中的DecisionTreeClassifier()函数。 ```python clf = tree.DecisionTreeClassifier() clf = clf.fit(X, y) ``` 训练后,调用predict()方法进行对测试数据的预测,使用以下代码: ```python y_pred = clf.predict(X) ``` 最后,评估模型的准确率,使用以下代码: ```python from sklearn.metrics import accuracy_score print(accuracy_score(y, y_pred)) ``` 这就是使用Python实现决策树算法的基本过程。决策树可以根据数据中的不同特征进行分类,是一个简单且常用的分类算法。决策树算法也可用于回归问题,例如预测一个数的大小。与其他机器学习算法相比,决策树具有易于理解和可解释的优点,同时还可以处理非线性的分类问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值