吃瓜Task03

决策树

算法原理

逻辑:一堆if else 语句的组合
几何:根据某种准测划分特征空间
目的:将样本越分越纯
自信息:I(X)=-logbp(x)
信息熵(自信息的期望):度量随机变量X的不确定性,信息熵越大越不确定

H(X)=E[I(X)]=-∑p(x)logbp(x)(离散型)

ID3决策树

信息熵

信息熵可以度量随机变量X的不确定性,信息熵越大越不确定,可转换到度量样本集合纯度,信息熵越小样本集合的纯度越高。
样本集合​中第​类样本所占比例为pk(k=1,2,…,N)​,则​的信息熵定义为:
在这里插入图片描述
当样本集合中各个类别所占比例相同时(p1=p2=…=pk=1/N​​​​),信息熵达到最大值log2N,纯度最低;
当样本集合中只有类别​​的样本,其他类别样本数量为0时​,信息熵达到最小值,纯度最高。

条件熵

条件熵表示的是在已知一个随机变量的条件下, 另一个随机变量的不确定性。假设有随机变量 X 和 Y ,且它们服从以下联合概率分布:
在这里插入图片描述
在已知X​的条件下,随机变量Y的条件熵表示,已知X取值xi后,Y的不确定性,计算公式如下:
在这里插入图片描述
在这里插入图片描述

信息增益

信息论中信息增益也称为互信息,其表示已知一个随机变量的信息后使得另一个随机变量的不确定性减少的程度。具体地,假设有随机变量X和Y,那么在已知X的信息后,Y​的不确定性减少的程度为:

I(Y;X)=Ent(Y)-Ent(Y|X)

在已知属性(特征)a的取值后​​​y的不确定性减少的量,也即纯度的提升,信息增益为:
在这里插入图片描述
ID3决策树:以信息增益为准则来选择划分属性的决策树。
在这里插入图片描述

C4.5决策树

增益率

在这里插入图片描述
C4.5 算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:

先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

CART决策树

CART是Classification and Regression Tree的简称,这是一种著名的决策树学习算法,分类和回归任务都可用。其生成的决策树为二叉树。

CART决策树使用"基尼指数"(Gini index)来选择划分属性。基尼值相对于ID3决策树中的信息熵,而基尼指数相对于ID3决策树中的条件熵。

基尼值

可以用Gini(D)反映了从数据集中随机抽取两个样本,其类别标记不一致的概率。Gini(D)越小,则数据集的纯度越高:
在这里插入图片描述

基尼指数

属性a的基尼指数表示在已知属性a的取值后(即在Dv的样本集合中),样本集合D​的基尼值之和,即为:

在这里插入图片描述

选择基尼指数最小的属性作为最优划分属性:
在这里插入图片描述
算法流程

  1. 对每个属性a的每个可能取值v,将数据集D分为a=v和​​a≠v两部分来计算基尼指数,即:
    在这里插入图片描述

  2. 选择基尼指数最小的属性及其对应取值作为最优划分属性和最优划分点;

  3. 重复以上两步,直至满足停止条件。

在Unity实现切西瓜的随机生成可以使用枚举来表示不同的水果,并根据随机生成的枚举值来选择对应的预制体和脚本。首先,创建一个枚举类型来表示水果的不同种类,比如苹果、香蕉、橙子等。接下来,在游戏需要切西瓜的地方,使用随机函数来生成一个随机值对应的水果枚举值。然后,根据这个枚举值来选择对应的预制体和脚本,实现随机生成不同种类的水果。通过这种方法,我们可以在Unity实现切西瓜随机生成的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Unity 游戏实例开发集合 之 CompoundBigWatermelon (简单合成一个大西瓜) 休闲小游戏快速实现](https://blog.csdn.net/u014361280/article/details/122519355)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Unity 游戏实例开发集合 之 CutFruit (切水果(水果忍者)) 休闲小游戏快速实现](https://blog.csdn.net/u014361280/article/details/122616242)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值