当前位置:网站首页>Decision tree principle and code implementation
Decision tree principle and code implementation
2022-07-29 23:55:00 【The romance of cherry blossoms】
1.树模型
决策树:从根节点开始一步步走到叶子节点(决策)
所有的数据最终都会落到叶子节点,既可以做分类也可以做回归
2.树的组成
根节点:第一个选择点
非叶子节点与分支:中间过程
叶子节点:最终的决策结果
3.决策树的训练与测试
训练阶段:从给定的训练集构造出来一棵树(从跟节点开始选择特征, 如何进行特征切分)
测试阶段:According to the constructed tree model, it goes from the root node to the leaf node
如何切分特征(选择节点)
目标:通过一种衡量标准,来计算通过不同特征进行分支选择后的分类情况,找出来最好的那个当成根节点
衡量标准-熵
熵:熵是表示随机变量不确定性的度量 (解释:物体内部的混乱程度,比如杂货市场里面什么都有那肯定混乱呀,专卖店里面只卖一个牌子的那就稳定多啦)
公式:H(X)=- ∑ pi * logpi, i=1,2, ... , n
比如:
A集合[1,1,1,1,1,1,1,1,2,2] 、B集合[1,2,3,4,5,6,7,8,9,1]
显然A集合的熵值要低,因为A里面只有两种类别,relatively stableB中类别太多了,熵值就会大很多
熵:不确定性越大,得到的熵值也就越大,当p=0或p=1时,H(p)=0,随机变量完全没有不确定性,当p=0.5时,H(p)=1,此时随机变量的不确定性最大
如何决策一个节点的选择呢?
信息增益:表示特征X使得类Y的不确定性减少的程度.(分类后的专一性,希望分类后的结果是同类在一起)
决策树构造实例
数据:14天打球情况
特征:4种环境变化
目标:构造决策树
划分方式:4种

在历史数据中(14天)有9天打球,5天不打球,所以此时的熵应为:
4个特征逐一分析,先从outlook特征开始:
Outlook = sunny时,熵值为0.971
Outlook = overcast时,熵值为0
Outlook = rainy时,熵值为0.971
决策树算法
ID3:信息增益
问题:When data exists oneID特征,那么,决策树在idThe entropy of the feature is0,就会根据ID进行分支,但是IDFeatures are meaningless.Decision trees cannot handle matrix sparsity,There are more kindsid特征

(和熵的衡量标准类似,计算方式不相同)
连续值怎么办?
决策树剪枝策略
为什么要剪枝:决策树过拟合风险很大,理论上可以完全分得开数据

边栏推荐
猜你喜欢
关于 byte 的范围
Mysql内外连接
Apache Doris 1.1 特性揭秘:Flink 实时写入如何兼顾高吞吐和低延时
Mysql8.0新特性之详细版本
很遗憾,没有一篇文章能讲清楚分布式事务
devops学习(五) Jenkins 简单完成持续部署
指令集数据产品如何设计和实现报表协同系统——基于指令集物联网操作系统的工业协同制造项目开发实践
Farmers on the assembly line: I grow vegetables in a factory
Brute force recursion to dynamic programming 04 (digital string conversion)
Tkinter:功能按钮Button
随机推荐
WIN2008的IIS上下载文件大小限制之修改
【云原生Kubernetes】二进制搭建Kubernetes集群(中)——部署node节点
C陷阱与缺陷 第5章 库函数 5.4 使用errno检测错误
绘制几何图形
接口测试的概念、目的、流程、测试方法有哪些?
Framework 到底该怎么学习?
乐理&吉他技巧
EA&UML日拱一卒-多任务编程超入门-(7)关于mutex,你必须知道的
MySQL事务隔离级别详解
logback过期日志文件自动删除
The difference and usage of call, apply and bind
Why does LabVIEW freeze when saving a VI
codeforces 线段树题单
Minesweeper game in c language
CesiumJS 2022^ 源码解读[0] - 文章目录与源码工程结构
Some personal understandings about MySQL indexes (partially refer to MySQL45 lectures)
树莓派上安装 wiringPi 2.6 解决 gpio readall 命令的错误
MySQL事务(transaction) (有这篇就足够了..)
Brute force recursion to dynamic programming 04 (digital string conversion)
Wincc报表教程(SQL数据库的建立,wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置和打印功能)