决策树(理论知识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个备选中位点划分出的数据集的信息熵,信息熵最小的就是最优划分点。

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

相关推荐
zephyr0544 分钟前
动态规划-最长上升子序列问题
算法·动态规划
闪电悠米1 小时前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
卡提西亚2 小时前
leetcode-1438. 绝对差不超过限制的最长连续子数组
算法·leetcode·职场和发展
Java面试题总结3 小时前
LeetCode 93.复原IP地址
算法·leetcode·职场和发展·.net
从零开始的代码生活_3 小时前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
泷寂4 小时前
最小生成树 (MST基础)
算法
Daniel_1234 小时前
数组——总结篇
算法
不懒不懒4 小时前
【针对路面识别数据集,结合三轴加速度标准化数据及多路面识别需求,以下是算法选择与处理方案】
算法
Reart4 小时前
Leetcode 121. 买卖股票的最佳时机(717)
后端·算法
会编程的小孩5 小时前
初识数据类型以及变量定义
数据结构·算法