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

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

相关推荐
程序员东岸9 小时前
《数据结构——排序(中)》选择与交换的艺术:从直接选择到堆排序的性能跃迁
数据结构·笔记·算法·leetcode·排序算法
程序员-King.9 小时前
day104—对向双指针—接雨水(LeetCode-42)
算法·贪心算法
STLearner10 小时前
AI论文速读 | U-Cast:学习高维时间序列预测的层次结构
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
神仙别闹10 小时前
基于C++实现(控制台)应用递推法完成经典型算法的应用
开发语言·c++·算法
Ayanami_Reii10 小时前
进阶数据结构应用-一个简单的整数问题2(线段树解法)
数据结构·算法·线段树·延迟标记
listhi52011 小时前
基于改进SET的时频分析MATLAB实现
开发语言·算法·matlab
Keep_Trying_Go11 小时前
基于Zero-Shot的目标计数算法详解(Open-world Text-specified Object Counting)
人工智能·pytorch·python·算法·多模态·目标统计
xl.liu11 小时前
零售行业仓库商品数据标记
算法·零售
confiself12 小时前
通义灵码分析ms-swift框架中CHORD算法实现
开发语言·算法·swift