决策树学习

1. 背景

DT决策树是一种基本的分类与回归方法,其学习时,利用训练数据,根据损失函数最小化原则建立DT模型。

分类DT主要优点:模型具有可读性,分类速度快。

由DT树的根结点到叶结点的每一条路径构建一条规则,即组合特征 ,路径上内部结点

的特征对应着规则的条件,而叶结点的类对应着规则的结论。这些路径互斥且完备。

DT学习通常包括3个步骤:特征选择、DT的生成与DT的修剪。DT的生成只考虑局部最优,而DT的剪枝则考虑全局最优。

DT学习是由训练数据集估计条件概率模型,其损失函数通常是正则化的极大似然函数,其策略是损失函数为目标函数的最小化。

2. 特征选择

特征选择在于选取对训练数据具有分类能力的特征,这样可以提高DT学习的效率。通常特征选择的准则是信息增益或信息增益比。

2.1 熵

随机变量X的熵定义为 (对数以2为底时,熵的单位叫bit;以e为底时,熵的单位叫nat)。

其中 ,i=1,2,...,n

熵只依赖于X的分布,与X的取值无关,且

(1)ID3算法;

(2)C4.5算法;

(3)CART算法;

3. DT的生成

4. DT的剪枝

相关推荐
老鼠只爱大米3 分钟前
LeetCode经典算法面试题 #108:将有序数组转换为二叉搜索树(递归分治、迭代法等多种实现方案详解)
算法·leetcode·二叉树·二叉搜索树·平衡树·分治法
Hello_Embed18 分钟前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
独自破碎E32 分钟前
【前缀和+哈希】LCR_011_连续数组
算法·哈希算法
一条大祥脚39 分钟前
26.1.26 扫描线+数论|因子反演+子序列计数|树套树优化最短路
数据结构·算法
m0_5613596742 分钟前
基于C++的机器学习库开发
开发语言·c++·算法
星空露珠1 小时前
速算24点所有题库公式
开发语言·数据库·算法·游戏·lua
2401_832402751 小时前
C++中的类型擦除技术
开发语言·c++·算法
努力学习的小廉1 小时前
我爱学算法之—— 递归回溯综合(二)
开发语言·算法
●VON1 小时前
Flutter for OpenHarmony 21天训练营 Day03 总结:从学习到输出,迈出原创第一步
学习·flutter·openharmony·布局·技术
sheji52611 小时前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法