《机器学习by周志华》学习笔记-决策树-03

news/2024/9/24 13:18:42/

1、连续值处理

到目前为止,我们在决策树01、02中仅讨论了基于离散属性来生成决策树,而现实任务中常会遇到连续属性,所以在本章的学习中,我们将会讨论如何在决策树学习中使用连续属性。

1.1、概念

取值范围是连续的实数值或者整数值的属性就是「连续属性」,与离散属性相对立。

这种属性通常可以用一个区间来描述,比如身高、体重、温度等。连续属性的取值通常是在一个连续的范围内变化的,因此它们的值可以是任何一个范围内的实数值或者整数值,而不是一组离散的取值。

1.2、背景

由于连续属性的可取值数目不再有限,因此不能直接根据「连续属性」的可取值来对节点进行划分,此时,想要生成决策树,就需要使用「连续属性离散化」技术解决。

连续属性离散化技术:

①概念:是「数据变换」的一种方式,用于生成决策树

②方法:连续属性离散化-CSDN博客

  • 无监督离散化
    • 等宽法
    • 灯频法
    • K-means聚类分析
    • ...
  • 有监督离散化

本文采用了二分法(bi-partition)对连续属性进行处理,这正是C4.5决策树算法中采用的机制。 

1.3、方法

给定样本集D和连续属性a,假设a在D上出现了n个不同的取值,将这些值从小到大进行排序,记为集合Ai,可表示为:

A_{i}=\left \{ a_{1} ,a_{2} ,...,a_{n} \right \}

基于划分点t(a_{1}\leq t\leq a_{n}),可将D分为子集D_{t}^{-}D_{t}^{+},其中:

D_{t}^{-}=[a_{1},t]

D_{t}^{+}=(t,a_{n}]

对于连续属性a相邻取值a_{i}a_{i+1}来说,t在区间[a_{i},a_{i+1})中任意取值所产生的划分结果相同,因此对连续属性a,我们可以考察a1~a(n-1)取值的候选划分点的集合Ta:

T_{a}=\left \{ t_{1},t_{2},...,t_{n-1} \right \}=\left \{ \frac{a_{i}+a_{i+1}}{2} \right \}(1\leq i\leq n-1)

然后,我们将按照离散属性一样来考察这n-1个划分点,选择最优的划分点来对样本集合进行划分:

Gain(D,A_{i})=\underset{t\in T_{a}}{max}Gain(D,A_{i},t)=\underset{t\in T_{a}}{Ent(D)}-\sum_{\lambda \in (-,+)}^{}\frac{|D_{t}^{\lambda }|}{|D|}Ent(D_{t}^{\lambda })

其中Gain(D,A_{i},t)是样本D给予划分点t二分之后的「信息增益」,则需要我们求出「信息增益」最大的划分点t_{i}

1.4、案例

给定西瓜数据集D如下表:

表1:西瓜数据集——离散属性&连续属性

编号色泽(A1)根蒂(A2)敲声(A3)纹理(A4)脐部(A5)触感(A6)密度(A7)含糖率(A8)是否好瓜(Y)
x1青绿A_{1}^{1}蜷缩A_{2}^{1}浑浊A_{3}^{1}清晰A_{4}^{1}凹陷A_{5}^{1}硬滑A_{6}^{1}0.6970.460是Y1
x2乌黑A_{1}^{2}蜷缩A_{2}^{1}沉闷A_{3}^{2}清晰A_{4}^{1}凹陷A_{5}^{1}硬滑A_{6}^{1}0.7740.376是Y1
x3乌黑A_{1}^{2}蜷缩A_{2}^{1}浑浊A_{3}^{1}清晰A_{4}^{1}凹陷A_{5}^{1}硬滑A_{6}^{1}0.6340.264是Y1
x4青绿A_{1}^{1}蜷缩A_{2}^{1}沉闷A_{3}^{2}清晰A_{4}^{1}凹陷A_{5}^{1}硬滑A_{6}^{1}0.6080.318是Y1
x5浅白A_{1}^{3}蜷缩A_{2}^{1}浑浊A_{3}^{1}清晰A_{4}^{1}凹陷A_{5}^{1}硬滑A_{6}^{1}0.5560.215是Y1
x6青绿A_{1}^{1}稍蜷A_{2}^{2}浑浊A_{3}^{1}清晰A_{4}^{1}稍凹A_{5}^{2}软粘A_{6}^{2}0.4030.237是Y1
x7乌黑A_{1}^{2}稍蜷A_{2}^{2}浑浊A_{3}^{1}稍糊A_{4}^{2}稍凹A_{5}^{2}软粘A_{6}^{2}0.4810.149是Y1
x8乌黑A_{1}^{2}稍蜷A_{2}^{2}浑浊A_{3}^{1}清晰A_{4}^{1}稍凹A_{5}^{2}硬滑A_{6}^{1}0.4370.211是Y1
x9乌黑A_{1}^{2}稍蜷A_{2}^{2}沉闷A_{3}^{2}稍糊A_{4}^{2}稍凹A_{5}^{2}硬滑A_{6}^{1}0.6660.091否Y2
x10青绿A_{1}^{1}硬挺A_{2}^{3}清脆A_{3}^{3}清晰A_{4}^{1}平坦A_{5}^{3}软粘A_{6}^{2}0.2430.267否Y2
x11浅白A_{1}^{3}硬挺A_{2}^{3}清脆A_{3}^{3}模糊A_{4}^{3}平坦A_{5}^{3}硬滑A_{6}^{1}0.2450.057否Y2
x12浅白A_{1}^{3}蜷缩A_{2}^{1}浑浊A_{3}^{1}模糊A_{4}^{3}平坦A_{5}^{3}软粘A_{6}^{2}0.3430.099否Y2
x13青绿A_{1}^{1}稍蜷A_{2}^{2}浑浊A_{3}^{1}稍糊A_{4}^{2}凹陷A_{5}^{1}硬滑A_{6}^{1}0.6390.161否Y2
x14浅白A_{1}^{3}稍蜷A_{2}^{2}沉闷A_{3}^{2}稍糊A_{4}^{2}凹陷A_{5}^{1}硬滑A_{6}^{1}0.6570.198否Y2

http://www.ppmy.cn/news/1507407.html

相关文章

kafka+zookeeper教程

1. 环境准备 环境准备 10.0.0.101&#xff0c;10.0.0.102&#xff0c;10.0.0.103&#xff0c; 101上做到102&#xff0c;103的免密登录 #为了方便执行命令和传输文件&#xff0c;这里先在101创建2个脚本 ]# cat > /usr/bin/data-rsync.sh <<EOF #!/bin/bash [ $# -ne…

cad文字转arcgis注记

cad中文字转为arcgis注记&#xff0c;步骤如下&#xff1a; 1、将dwg文件下annotation文件加到图层中 2、文件点击右键&#xff0c;转换地理数据库注记 3、 导入默认地理数据库中&#xff0c;或自己新建地理数据库&#xff0c;起个文件名、点确定&#xff08;注意&#xff1a…

【HarmonyOS NEXT星河版开发学习】小型测试案例15-博客列表

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面&#xff08;暂未发布&#xff09; 前言 该案例主要是ForEach渲染的练习&#xff0c;ForEach可以基于数组的个数&#xff0c;渲染组件个数&#xff08;简化代码&#xff09; 在…

加密的PDF文件怎么能够转换为word文档

Word是一种常见的文档格式&#xff0c;被广泛应用于办公室、教育等领域&#xff0c;目前它拥有较为丰富的文档编辑和格式化功能。然而&#xff0c;因为当前很多场景下&#xff0c;大多数资料文件都是以PDF格式存在&#xff0c;因为其具备比较强的稳定性&#xff0c;所以想要去修…

赛盈分销亮相AI科技大会暨亚马逊新增长大会,与企业共话跨境品牌发展新机遇!

八月开端&#xff0c;由知无不言与xmars和钱老师课堂联合主办的2024年AI科技大会暨亚马逊新增长大会在深圳宝安顺利开展&#xff0c;为期2天的跨境峰会吸引了上千位优秀的卖家朋友前来感受一场盛夏大狂欢。在本次跨境峰会里&#xff0c;邀请了多位不同领域的先锋人物&#xff0…

Python爬虫教程(1)— 简介

1.1什么是爬虫 网络爬虫(Web Crawler)&#xff0c;又称为网络蜘蛛(Web Spider)或网络机器人(Web Robot)&#xff0c;是一种自动化脚本或程序&#xff0c;旨在系统地浏览互联网并收集特定信息。爬虫通常用于搜索引擎、数据采集、价格比较网站、社交媒体分析等领域。 主要功能: …

小白零基础学数学建模应用系列(二):基于Python的共享单车系统建模与仿真分析

共享单车系统作为一种绿色环保的出行方式&#xff0c;已成为现代城市公共交通的重要组成部分。本文将使用Python编程语言&#xff0c;并结合modsim库&#xff0c;构建并仿真一个共享单车系统的模型&#xff0c;通过这一过程来展示如何进行系统的建模与分析。 文章目录 一、背景…

SolidityFoundry ERC4626

ERC4626简介 ERC4626 协议是一种用于代币化保险库的标准。 我们经常说 DeFi 是货币乐高&#xff0c;可以通过组合多个协议来创造新的协议&#xff1b; ERC4626 扩展了 ERC20 代币标准&#xff0c;旨在推动收益金库的标准化&#xff0c;它是 DeFi 乐高中的基础&#xff0c;它允…