当前位置:网站首页>ML4自学笔记
ML4自学笔记
2022-07-29 05:22:00 【十九岁的花季少女】
决策树算法
- 将区分效果好的条件放在较前面的节点。树模型既可以做分类也可以做回归。

- 树的组成

- 决策树训练与测试

- 如何切分特征点,各个节点选择什么特征,如何切分。通过一种衡量标准。

- 衡量标准:熵。看经过一次划分之后熵值的结果。希望分类之后每个分支熵下降得多更好。

- 信息增益:用于选择特征。特征使得以这个特征为分类后得熵减小得多,就是信息增益程度大,选的特征越好。

决策树构造实例
- 数据 特征 目标

- 首先选择根节点,使用信息增益计算。

- 计算原始数据熵

- 对4个特征以此计算划分后的熵。

根据类别的概率进行加权计算熵
剩下的熵也进行如此计算,选择信息增益程度大的当作根节点;再用如此方法选择下一个节点。
ID3,C4.5,CART,GINI系数

在ID3中,如果有一列id(1,2,3…n),并且若以id分类每一组数据都各自成一类,是确定的,熵为零,是最好的分类结果,但以id分类是无意义的,不能通过id编号来确定分支。
所以提出的信息增益率C4.5。考虑自身熵值。id分为太多类,导致自身熵值很大,以分类数除自身的熵值,会使得信息增益率很小,解决了ID3的问题,是目前常用的。
CART是以GINI系数来衡量的,只要看公式即可。
属性值里的连续值
如果进行二分,在每个数据之间都有可能,对着几种可能分别求熵值,选择熵值最小的那个划分办法,这个过程即进行数据离散化。
决策树剪枝策略
原因:防止过拟合(每个叶子上只有一个样本了,做到100%)
剪枝策略:预剪枝、后剪枝
X[2]<=2.45表示以这个特征<=2.45为分支依据,GINI系数根据公式求出,sample:样本总数量,value:里面各个类别的数量
- 预剪枝:边建立边剪枝(限制树的最大深度、限制叶子节点个数、限制叶子节点样本数和信息增益量等)(这些数据都要经过实验决定,深度多少好,叶子节点个数几个好)
- 后剪枝:建完决策树之后进行剪枝
根据公式计算,C(T)就是当前点的GINI系数*sample,|Tleaf|就是从当前结点算起有几个分支。以绿色圈圈计算为例,首先计算若此节点不进行再分支的Ca(T),再分别求出下面两个叶子节点的Ca(T)相加与不分枝的进行比较,越大越不好。α的意义在于定义越重视熵值还是叶子节点数量,α越大越注重叶子节点个数,也就是关注过拟合,α越小表示更注重结果准确,不太重视过拟合
决策树如何解决问题的
- 解决分类问题,很简单,就顺着分支走,最后求得一类。
- 回归问题。衡量标准:希望每一个分支的方差最小,最后结果是当前节点内样本标签的均值(比如年龄)。
边栏推荐
- C connect to SharePoint online webservice
- ML8自学笔记-LDA原理公式推导
- 【Transformer】AdaViT: Adaptive Vision Transformers for Efficient Image Recognition
- ASM piling: after learning ASM tree API, you don't have to be afraid of hook anymore
- 【综述】图像分类网络
- 迁移学习—— Transfer Feature Learning with Joint Distribution Adaptation
- The differences and reasons between MySQL with and without quotation marks when querying string types
- ML自学笔记5
- 虚假新闻检测论文阅读(五):A Semi-supervised Learning Method for Fake News Detection in Social Media
- Flink connector Oracle CDC synchronizes data to MySQL in real time (oracle12c)
猜你喜欢

迁移学习笔记——Adapting Component Analysis
![[overview] image classification network](/img/2b/7e3ba36a4d7e95cb262eebaadee2f3.png)
[overview] image classification network

ML17-神经网络实战

预训练语言模型的使用方法

These process knowledge you must know

anaconda中移除旧环境、增加新环境、查看环境、安装库、清理缓存等操作命令
![[tensorrt] convert pytorch into deployable tensorrt](/img/56/81d641b494cf8b02ff77246c2207db.png)
[tensorrt] convert pytorch into deployable tensorrt

【语义分割】SETR_Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformer

【Attention】Visual Attention Network

四、One-hot和损失函数的应用
随机推荐
【Transformer】AdaViT: Adaptive Vision Transformers for Efficient Image Recognition
ML16-神经网络(2)
【DL】搭建卷积神经网络用于回归预测(数据+代码详细教程)
[ml] PMML of machine learning model -- Overview
【Transformer】SegFormer:Simple and Efficient Design for Semantic Segmentation with Transformers
1、 Focal loss theory and code implementation
ML自学笔记5
第三周周报 ResNet+ResNext
ASM piling: after learning ASM tree API, you don't have to be afraid of hook anymore
【ML】机器学习模型之PMML--概述
四、One-hot和损失函数的应用
AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘
ML10自学笔记-SVM
一、Focal Loss理论及代码实现
【Transformer】ATS: Adaptive Token Sampling For Efficient Vision Transformers
一、常见损失函数的用法
Interesting talk about performance optimization thread pool: is the more threads open, the better?
迁移学习—Geodesic Flow Kernel for Unsupervised Domain Adaptation
pip安装后仍有解决ImportError: No module named XX
Change! Change! Change!