决策树(理论知识4)

目录

决策树中的连续值处理

在前面的数据集中,各项特征(以及标签)均为离散型数据,但有时处理的数据对象可能会含有连续性数值,为了解决这一问题,我们可以对数据进行离散化处理。此时,可把连续取值的数据值域划分为多个区间,并将每个区间视为该特征的一个取值,如此就完成了从连续性数据到离散性数据的转变。例如,当 "学校举办运动会的历史数据" 为下表时,我们可根据这些数据(并结合相关知识)将温度特征的取值作以下划分:

将 "温度" 属性进行分区处理:

对于一些尚无明确划分标准的特征(如下面是一组无具体含义的数据):

62,65,72,86,89,96,102,116,118,120,125,169,187,211,218

我们要如何将这些数据进行离散化呢?一种较为直接的方式是:对原数据进行排序,再取任意相邻值的中位点作为划分点,

例如:可以取65和72的中位点( φ = a i + a i + 1 2 = 65 + 72 2 = 68.5 \varphi=\frac{a_i+a_{i+1}}{2}=\frac{65+72}{2}=68.5 φ=2ai+ai+1=265+72=68.5)进行划分。对数据进行离散化处理是希望划分之后的数据集更加纯净,

所以这里依然可以用信息熵来作为对划分的度量,并选取划分效果最好的点作为划分点。

对于长度为n的数据,其备选中位点有n−1个:
φ = { a i + a i + 1 2 , 1 < = i < = n − 1 } \varphi=\{\frac{a_i+a_{i+1}}{2},1<=i<=n-1\} φ={2ai+ai+1,1<=i<=n−1}

我们需要算出这n−1个备选中位点划分出的数据集的信息熵,信息熵最小的就是最优划分点。

在评估决策树执行分类或回归任务的效果时,其方式也有所不同。对于分类任务,可用熵或基尼系数;对于回归任务,则需要用方差来衡量最终落到某个叶子节点中的数值之间的差异(方差越小则说明数据之间的差异越小,越应该被归类到一类)。注:决策树在执行回归任务时,其最终反馈的结果应当取某个叶子结点中所有数的均值。

相关推荐
递归不收敛30 分钟前
吴恩达机器学习课程(PyTorch适配)学习笔记:2.4 激活函数与多类别处理
pytorch·学习·机器学习
Univin1 小时前
C++(10.5)
开发语言·c++·算法
Asmalin1 小时前
【代码随想录day 35】 力扣 01背包问题 一维
算法·leetcode·职场和发展
剪一朵云爱着1 小时前
力扣2779. 数组的最大美丽值
算法·leetcode·排序算法
qq_428639612 小时前
虚幻基础:组件间的联动方式
c++·算法·虚幻
深瞳智检2 小时前
YOLO算法原理详解系列 第002期-YOLOv2 算法原理详解
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪
怎么没有名字注册了啊2 小时前
C++后台进程
java·c++·算法
Rubisco..3 小时前
codeforces 2.0
算法
未知陨落3 小时前
LeetCode:98.颜色分类
算法·leetcode
~kiss~4 小时前
K-means损失函数-收敛证明
算法·机器学习·kmeans