决策树之构造生成

Ubuntu 24.04 部署 EMQX 5.8 开源版MQTT服务器:从零搭建到实战应用 本文详细指导如何在Ubuntu 24.04系统上部署EMQX 5.8开源版MQTT服务器。内容涵盖从环境准备、安装Erlang、下载安装包到启动服务的完整步骤,并提供了验证服务、配置网络防火墙以及通过WebSocket工具进行基础消息收发的实战方法,帮助用户快速搭建稳定、免费的物联网消息中间件。 阅读详情

决策树之构造生成


参考说明

    这篇文档展示一个完整的决策树的生成过程,希望对学习过程中的我们有所帮助:

示例数据表格

    文章所使用的数据集如下,来源于《数据分析实战45讲》17讲中

天气温度湿度刮风是否打篮球
晴高中否否
晴高中是否
阴高高否是
小雨高高否是
小雨低高否否
晴天中中是是
阴天中高是否

相关概念阐述

决策树

    以上面的表格数据为例,比如我们考虑要不要去打篮球,先看天气是不是阴天,是阴天的话,外面刮风没,没刮风我们就去,刮风就不去。决策树就是把上面我们判断背后的逻辑整理成一个结构图,也就是一个树状结构。

ID3、C4.5、CART

    在决策树构造中有三个著名算法:ID3、C4.5、CART,ID3算法计算的是信息增益,C4.5计算使用的是增益率、CART计算使用的是基尼系数,下面简单介绍下其算法,这里也不要求完全看懂,扫一眼有个印象就行,在后面的例子中有计算示例,回过头结合看应该就懂了。

信息熵

    在信息论中,随机离散事件的出现的概率存在不确定性,为了衡量这种信息的不确定性,信息学之父香农引入了信息熵的概念,并给出了计算信息熵的数学公式。

Entopy(t)=-Σp(i|t)log2p(i|t)
信息增益

    信息增益指的是划分可以带来纯度的提高,信息熵的下降。它的计算公式是父亲节点的信息熵减去所有子节点的信息熵。信息增益的公式可以表示为:

Gain(D,a)=Entropy(D)- Σ|Di|/|D|Entropy(Di)
信息增益率

    信息增益率 = 信息增益 / 属性熵。属性熵,就是每种属性的信息熵,比如天气的属性熵的计算如下,天气有晴阴雨,各占3/7,2/7,2/7:

H(天气)= -(3/7 * log2(3/7) + 2/7 * log2(2/7) + 2/7 * log2(2/7)) 
基尼系数

    基尼系数在经济学中用来衡量一个国家收入差距的常用指标.当基尼指数大于0.4的时候,说明财富差异悬殊.基尼系数在0.2-0.4之间说明分配合理,财富差距不大.扩展阅读下基尼系数

    基尼系数本身反应了样本的不确定度.当基尼系数越小的时候,说明样本之间的差异性小,不确定程度低.

    CART算法在构造分类树的时候,会选择基尼系数最小的属性作为属性的划分.

    基尼系数的计算公式如下:

Gini = 1 – Σ (Pi)2 for i=1 to number of classes

举例说明

    下面是一个完整的决策树的构造生成过程,已完整开头所给的数据为例

根节点的选择

    在上面的列表中有四个属性:天气,温度,湿度,刮风.需要先计算出这四个属性的信息增益、信息增益率、基尼系数

    数据集中有7条数据,3个打篮球,4个不打篮球,不打篮球的概率为4/7,打篮球的概率为3/7,则根据信息熵的计算公式可以得到根节点的信息熵为:

Ent(D)=-(4/7 * log2(4/7) + 3/7 * log2(3/7))=0.985
天气

    其数据表格如下:

天气状态打篮球数量不打篮球数量总数
晴123
阴112
小雨112
信息增益计算

    如果将天气作为属性划分,分别会有三个叶节点:晴天、阴天、小雨,其中晴天2个不打篮球,1个打篮球;阴天1个打篮球,1个不打篮球;小雨1个打篮球,1个不打篮球,其对应相应的信息熵如下:

D(晴天)=-(1/3 * log2(1/3) + 2/3 * log2(2/3)) = 0.981
D(阴天)=-(1/2 * log2(1/2) + 1/2 * log2(1/2)) = 1.0
D(雨天)=-(1/2 * log2(1/2) + 1/2 * log2(1/2)) = 1.0

    在数据集中晴天有3条数据,阴天有2条数据,雨天有2条数据,对应的概率为3/7、2/7、2/7,那么作为子节点的归一化信息熵为:

3/7 * 0.918 + 2/7 * 1.0 * 2/7 * 1.0 = 0.965

    其信息增益为:

Gain(天气)=0.985 - 0.965 = 0.020
信息增益率计算

    天气有三个选择,晴天有3条数据,阴天有2条数据,雨天有2条数据,对应的概率为3/7、2/7、2/7,其对应的属性熵为:

H(天气)=-(3/7 * log2(3/7) + 2/7 * log2(2/7) + 2/7 * log2(2/7)) = 1.556

    则其信息增益率为:

Gain_ratio(天气)=0.020/1.556=0.012
基尼系数计算
  • Gini(天气=晴)=1 - (1/3)^2 - (2/3)^2 = 1 - 1/9 - 4/9 = 4/9
  • Gini(天气=阴)=1 - (1/2)^2 - (1/2)^2 = 1 - 1/4 - 1/4 = 0.5
  • Gini(天气=小雨)=1 - (1/2)^2 - (1/2)^2 = 1 - 1/4 - 1/4 = 0.5
  • Gini(天气)=(3/7) * 4/9 + (2/7) * 0.5 + (2/7) * 0.5 = 4/21 + 1/7 + 1/7 = 10/21
温度

    其数据表格如下:

温度状态打篮球数量不打篮球数量总数
高224
中112
低011
信息增益计算

    各情况的信息熵如下:

D(高)=-(2/4 * log2(2/4) + 2/4 * log2(2/4)) = 1.0
D(中)=-(1/2 * log2(1/2) + 1/2 * log2(1/2)) = 1.0
D(低)=-(0/1 * log2(0/1) + 1/1 * log2(1/1)) = 0.0

    作为子节点的归一化信息熵为:

4/7 * 1.0 + 2/7 * 1.0 * 1/7 * 0.0 = 0.857

    其信息增益为:

Gain(温度)=0.985 - 0.857 = 0.128
信息增益率计算

    属性熵为:

H(温度)=-(4/7 * log2(4/7) + 2/7 * log2(2/7) + 1/7 * log2(1/7)) = 1.378

    则其信息增益率为:

Gain_ratio(温度)=0.128/1.378=0.0928
基尼系数计算
  • Gini(温度=高)=1 - (2/4)^2 - (2/4)^2 = 1 - 1/4 - 1/4 = 0.5
  • Gini(温度=中)=1 - (1/2)^2 - (1/2)^2 = 1 - 1/4 - 1/4 = 0.5
  • Gini(温度=低)=1 - (0/1)^2 - (1/1)^2 = 1 - 0 - 1 = 0
  • Gini(温度)=4/7 * 0.5 + 2/7 * 0.5 + 1/7 * 0 = 3/7
湿度的基尼系数计算

    其数据表格如下:

湿度状态打篮球数量不打篮球数量总数
高224
中213
信息增益计算

    各情况的信息熵如下:

D(高)=-(2/4 * log2(2/4) + 2/4 * log2(2/4)) = 1.0
D(中)=-(2/3 * log2(2/3) + 1/3 * log2(1/3)) = 0.918

    作为子节点的归一化信息熵为:

4/7 * 1.0 + 3/7 * 0.918 = 0.964

    其信息增益为:

Gain(湿度)=0.985 - 0.964 = 0.021
信息增益率计算

    属性熵为:

H(湿度)=-(4/7 * log2(4/7) + 3/7 * log2(3/7) = 0.985

    则其信息增益率为:

Gain_ratio(湿度)=0.021/0.985=0.021
基尼系数计算
  • Gini(湿度=高)=1 - (2/4)^2 - (2/4)^2 = 1 - 1/4 - 1/4 = 0.5
  • Gini(湿度=中)=1 - (2/3)^2 - (1/3)^2 = 1 - 4/9 - 1/9 = 4/9
  • Gini(湿度)=(4/7) * 0.5 + (3/7) * 4/9 = 2/7 + 4/21 = 10/21 ~ 0.47619
刮风的基尼系数计算

    其数据表格如下:

刮风状态打篮球数量不打篮球数量总数
是123
否224
信息增益计算

    各情况的信息熵如下:

D(是)=-(2/3 * log2(2/3) + 1/3 * log2(1/3)) = 0.918
D(否)=-(2/4 * log2(2/4) + 2/4 * log2(2/4)) = 1.0

    作为子节点的归一化信息熵为:

3/7 * 1.0 + 4/7 * 0.918 = 0.964

    其信息增益为:

Gain(刮风)=0.985 - 0.964 = 0.021
信息增益率计算

    属性熵为:

H(刮风)=-(4/7 * log2(4/7) + 3/7 * log2(3/7) = 0.985

    则其信息增益率为:

Gain_ratio(刮风)=0.021/0.985=0.021
基尼系数计算
  • Gini(刮风=是)=1 - (2/3)^2 - (1/3)^2 = 1 - 4/9 - 1/9 = 4/9
  • Gini(刮风=否)=1 - (2/4)^2 - (2/4)^2 = 1 - 1/4 - 1/4 = 0.5
  • Gini(刮风)=(4/7) * 0.5 + (3/7) * 4/9 = 2/7 + 4/21 = 10/21 ~ 0.47619
根节点的选择

    如下汇总所有接口,第一个为信息增益的,第二个为信息增益率的,第三个为基尼系数的。其中信息增益和信息增益率选择最大的,基尼系数选择最小的。从下面的结果可以得到选择为:温度

  • Gain(天气)=0.985 - 0.965 = 0.020

  • Gain(温度)=0.985 - 0.857 = 0.128

  • Gain(湿度)=0.985 - 0.964 = 0.021

  • Gain(刮风)=0.985 - 0.964 = 0.021

  • Gain_ratio(天气)=0.020/1.556=0.012

  • Gain_ratio(温度)=0.128/1.378=0.0928

  • Gain_ratio(湿度)=0.021/0.985=0.021

  • Gain_ratio(刮风)=0.021/0.985=0.021

  • Gini(天气)=(3/7) * 4/9 + (2/7) * 0.5 + (2/7) * 0.5 = 0.47619

  • Gini(温度)=4/7 * 0.5 + 2/7 * 0.5 + 1/7 * 0 = 0.42857

  • Gini(湿度)=(4/7) * 0.5 + (3/7) * 4/9 = 2/7 + 4/21 = 10/21 ~ 0.47619

  • Gini(刮风)=(4/7) * 0.5 + (3/7) * 4/9 = 2/7 + 4/21 = 10/21 ~ 0.47619

    确定跟节点以后,大致的树结构如下,温度低能确定结果,高和中需要进一步的进行分裂,从剩下的数据中再次进行属性选择:

  • 根节点
    • 子节点温度高:(待进一步进行选择)
    • 子节点温度中:(待进一步进行选择)
    • 叶节点温度低:不打篮球(能直接确定为不打篮球)

子节点温度高的选择

    其剩下的数据集如下,温度不再进行下面的节点选择参与:

天气温度(不参与此次分裂)湿度刮风是否打篮球
晴高中否否
晴高中是否
阴高高否是
小雨高高否是

    根据信息熵的计算公式可以得到子节点温度高的信息熵为:

Ent(D)=-(2/4 * log2(2/4) + 2/4 * log2(2/4)) = 1.0
天气

    其数据表格如下:

天气状态打篮球数量不打篮球数量总数
晴112
阴101
小雨101
信息增益计算

    相应的信息熵如下:

D(晴天)=-(1/2 * log2(1/2) + 1/2 * log2(1/2)) = 1.0
D(阴天)=-(1/1 * log2(1/1) + 0/1 * log2(0/1)) = 0.0
D(雨天)=-(1/1 * log2(1/1) + 0/1 * log2(0/1)) = 0.0

    归一化信息熵为:

2/4 * 1.0 + 1/4 * 0.0 * 1/4 * 0.0 = 0.5

    其信息增益为:

Gain(天气)=1.0 - 0.5 = 0.5
信息增益率计算

    对应的属性熵为:

H(天气)=-(2/4 * log2(2/4) + 1/4 * log2(1/4) + 1/4 * log2(1/4)) = 1.5

    则其信息增益率为:

Gain_ratio(天气)=0.5/1.5=0.33333
基尼系数计算
  • Gini(天气=晴)=1 - (1/2)^2 - (1/2)^2 = 1 - 1/4 - 1/4 = 0.5
  • Gini(天气=阴)=1 - (1/1)^2 - (0/1)^2 = 0
  • Gini(天气=小雨)=1 - (1/1)^2 - (0/1)^2 = 0
  • Gini(天气)=2/4 * 0.5 + 1/4 * 0 + 1/4 * 0 = 0.25
湿度的基尼系数计算

    其数据表格如下:

湿度状态打篮球数量不打篮球数量总数
高202
中022
信息增益计算

    各情况的信息熵如下:

D(高)=-(2/2 * log2(2/2) + 0/2 * log2(0/2)) = 0.0
D(中)=-(0/2 * log2(0/2) + 2/2 * log2(2/2)) = 0.0

    作为子节点的归一化信息熵为:

2/4 * 0.0 + 2/4 * 0.0 = 0.0

    其信息增益为:

Gain(湿度)=1.0 - 0.0 = 1.0
信息增益率计算

    属性熵为:

H(湿度)=-(2/4 * log2(2/4) + 2/4 * log2(2/4) = 1.0

    则其信息增益率为:

Gain_ratio(湿度)=1.0/1.0=1.0
基尼系数计算
  • Gini(湿度=高)=1 - (2/2)^2 - (0/2)^2 = 0
  • Gini(湿度=中)=1 - (0/2)^2 - (2/2)^2 = 0
  • Gini(湿度)=(2/4) * 0 + (2/4) * 0 = 0
刮风计算

    其数据表格如下:

刮风状态打篮球数量不打篮球数量总数
是011
否213
信息增益计算

    各情况的信息熵如下:

D(是)=-(0/1 * log2(0/1) + 1/1 * log2(1/1)) = 0
D(否)=-(2/3 * log2(2/3) + 1/3 * log2(1/3)) = 0.918

    作为子节点的归一化信息熵为:

1/4 * 0.0 + 3/4 * 0.918 = 0.688

    其信息增益为:

Gain(刮风)=1.0 - 0.688 = 0.312
信息增益率计算

    属性熵为:

H(刮风)=-(1/3 * log2(1/3) + 2/3 * log2(2/3) = 0.918

    则其信息增益率为:

Gain_ratio(刮风)=0.312/0.918=0.349
基尼系数计算
  • Gini(刮风=是)=1 - (0/1)^2 - (1/1)^2 = 0
  • Gini(刮风=否)=1 - (2/3)^2 - (1/3)^2 = 1 - 4/9 - 1/9 = 4/9
  • Gini(刮风)=(1/4) * 0 + (3/4) * 4/9 = 1/3 = 0.333333
子节点温度高的选择

    如下汇总所有接口,第一个为信息增益的,第二个为信息增益率的,第三个为基尼系数的。其中信息增益和信息增益率选择最大的,基尼系数选择最小的。从下面的结果可以得到选择为:湿度

  • Gain(天气)=1.0 - 0.5 = 0.5

  • Gain(湿度)=1.0 - 0.0 = 1.0

  • Gain(刮风)=1.0 - 0.688 = 0.312

  • Gain_ratio(天气)=0.5/1.5=0.33333

  • Gain_ratio(湿度)=1.0/1.0=1.0

  • Gain_ratio(刮风)=0.312/0.918=0.349

  • Gini(天气)=2/4 * 0.5 + 1/4 * 0 + 1/4 * 0 = 0.25

  • Gini(湿度)=(2/4) * 0 + (2/4) * 0 = 0

  • Gini(刮风)=(1/4) * 0 + (3/4) * 4/9 = 1/3 = 0.333333

    确定跟节点以后,大致的树结构如下,选择湿度作为分裂属性后能直接确定结果:

  • 根节点
    • 子节点温度高
      • 叶节点湿度高:打篮球
      • 叶节点湿度中:不打篮球
    • 子节点温度中:(待进一步进行选择)
    • 叶节点温度低:不打篮球(能直接确定为不打篮球)

子节点温度中的选择

    其剩下的数据集如下,温度不再进行下面的节点选择参与:

天气温度(不参与此次分裂)湿度刮风是否打篮球
晴天中中是是
阴天中高是否

    根据信息熵的计算公式可以得到子节点温度高的信息熵为:

Ent(D)=-(1/2 * log2(1/2) + 1/2 * log2(1/2)) = 1.0
天气

    其数据表格如下:

天气状态打篮球数量不打篮球数量总数
晴101
阴011
信息增益计算

    相应的信息熵如下:

D(晴天)=-(1/1 * log2(1/1) + 0/1 * log2(0/1)) = 0.0
D(阴天)=-(0/1 * log2(0/1) + 1/1 * log2(1/1)) = 0.0

    归一化信息熵为:

1/2 * 0.0 + 1/2 * 0.0 = 0

    其信息增益为:

Gain(天气)=1.0 - 0 = 1.0
信息增益率计算

    对应的属性熵为:

H(天气)=-(1/2 * log2(1/2) + 1/2 * log2(1/2)) = 1.0

    则其信息增益率为:

Gain_ratio(天气)=1.0/1.0=1.0
基尼系数计算
  • Gini(天气=晴)=1 - (1/1)^2 - (0/1)^2 = 0
  • Gini(天气=阴)=1 - (0/1)^2 - (1/1)^2 = 0
  • Gini(天气)=1/2 * 0.0 + 1/2 * 0.0 = 0
湿度的基尼系数计算

    其数据表格如下:

湿度状态打篮球数量不打篮球数量总数
高011
中101
信息增益计算

    各情况的信息熵如下:

D(高)=-(0/1 * log2(0/1) + 1/1 * log2(1/1)) = 0.0
D(中)=-(1/1 * log2(1/1) + 0/1 * log2(0/1)) = 0.0

    作为子节点的归一化信息熵为:

1/2 * 0.0 + 1/2 * 0.0 = 0

    其信息增益为:

Gain(湿度)=1.0 - 0.0 = 1.0
信息增益率计算

    属性熵为:

H(湿度)=-(1/2 * log2(1/2) + 1/2 * log2(1/2)) = 1.0

    则其信息增益率为:

Gain_ratio(湿度)=1.0/1.0=1.0
基尼系数计算
  • Gini(湿度=高)=1 - (0/1)^2 - (1/1)^2 = 0
  • Gini(湿度=中)=1 - (1/1)^2 - (0/1)^2 = 0
  • Gini(湿度)=1/2 * 0.0 + 1/2 * 0.0 = 0
刮风计算

    其数据表格如下:

刮风状态打篮球数量不打篮球数量总数
是112
信息增益计算

    各情况的信息熵如下:

D(是)=-(1/2 * log2(1/2) + 1/2 * log2(1/2)) = 1.0

    作为子节点的归一化信息熵为:

1/1 * 1.0 = 1.0

    其信息增益为:

Gain(刮风)=1.0 - 1.0 = 0
信息增益率计算

    属性熵为:

H(刮风)=-(2/2 * log2(2/2) = 0.0

    则其信息增益率为:

Gain_ratio(刮风)=0/0 = 0
基尼系数计算
  • Gini(刮风=是)=1 - (1/2)^2 - (1/2)^2 = 0.5
  • Gini(刮风)=2/2 * 0.5 = 0.5
子节点温度中的选择

    如下汇总所有接口,第一个为信息增益的,第二个为信息增益率的,第三个为基尼系数的。其中信息增益和信息增益率选择最大的,基尼系数选择最小的。从下面的结果可以得到天气和湿度是一样好的,我们随机选天气吧

  • Gain(天气)=1.0 - 0 = 1.0

  • Gain(湿度)=1.0 - 0.0 = 1.0

  • Gain(刮风)=1.0 - 1.0 = 0

  • Gain_ratio(天气)=1.0/1.0=1.0

  • Gain_ratio(湿度)=1.0/1.0=1.0

  • Gain_ratio(刮风)=0/0 = 0

  • Gini(天气)=1/2 * 0.0 + 1/2 * 0.0 = 0

  • Gini(湿度)=1/2 * 0.0 + 1/2 * 0.0 = 0

  • Gini(刮风)=2/2 * 0.5 = 0.5

    确定跟节点以后,大致的树结构如下,选择天气作为分裂属性后能直接确定结果:

  • 根节点
    • 子节点温度高
      • 叶节点湿度高:打篮球
      • 叶节点湿度中:不打篮球
    • 子节点温度中
      • 叶节点天气晴:打篮球
      • 叶节点天气阴:不打篮球
    • 叶节点温度低:不打篮球(能直接确定为不打篮球)

最终的决策树

    在上面的步骤已经进行完整的演示,得到当前数据一个完整的决策树:

  • 根节点
    • 子节点温度高
      • 叶节点湿度高:打篮球
      • 叶节点湿度中:不打篮球
    • 子节点温度中
      • 叶节点天气晴:打篮球
      • 叶节点天气阴:不打篮球
    • 叶节点温度低:不打篮球(能直接确定为不打篮球)

思考

    在构造的过程中我们可以发现,有可能同一个属性在同一级会被选中两次,比如上面的决策树中子节点温度高中都能选中温度作为分裂属性,这样是否合理?

    完整的构造整个决策树后,发现整个决策树的高度大于等于属性数量,感觉决策树应该是构造时间较长,但用于决策的时候很快,时间复杂度也就是O(n)

话外

    周志华的《机器学习》是本好书,极客专栏感兴趣的可以去看看
在这里插入图片描述

电容式三点式振荡电路/电感式三点振荡电路基础知识及Multisim电路仿真 摘要:三极管振荡电路利用放大特性与正反馈实现自激振荡,需满足巴克豪森条件(增益≥1,相位匹配)。核心由放大级、反馈网络、选频网络和稳幅环节构成。主要分为三类:1)LC/RC正弦波振荡电路(如电容三点式、电感三点式),输出高频/低频正弦波;2)多谐振荡电路,通过电容充放电产生方波;3)张弛振荡电路,生成锯齿波等。设计需关注相位匹配、增益控制和元件适配。LC振荡频率由谐振参数决定,RC振荡由时间常数控制。稳幅机制通过非线性或主动元件维持等幅输出。该电路在信号发生、时钟源等领域有广泛应用。 阅读详情

相关推荐

ICC II 时钟树综合(CTS)前奏:从约束定义到NDR规则的全方位设置指南

本文详细介绍了ICC II中时钟树综合(CTS)的前期准备工作,包括约束定义、NDR规则设置和时钟平衡点控制等关键步骤。通过实际案例和代码示例,指导工程师如何优化时钟偏斜、插入延迟和信号质量,确保芯片设计的时序收敛和性能稳定。特别强调了非默认布线规则(NDR)在时钟网络设计中的重要性。

weixin_42530458的博客 212

机器学习——决策树(一)

决策树;剪枝策略;ID3算法;C4.5算法;CART算法

weixin_43876625的博客 5387

TI DSP从COFF切换到EABI输出格式的5个关键修改点(TMS320F280025实测)

本文基于TMS320F280025实测,详细解析了TI DSP从COFF切换到EABI输出格式的5个关键修改点。核心差异在于EABI遵循ELF标准,涉及链接器优化、RAM数据共享、工具链升级、double数据类型位宽变化及链接器命令文件重构。迁移时需使用.retain指令防止关键数据被优化,利用NOINIT段保护共享RAM,并更新hex2000等工具,以确保BootLoader与应用程序稳定运行。

weixin_29189381的博客 265

机器学习系列-决策树

在分裂节点前,提前评估分裂是否有意义。如果分裂不能显著提高决策树性能,则阻止分裂。它通过递归地将数据集分割成更小的子集,最终生成一个类似于树状的模型。以特征“天气”为例,取值为“晴天”“阴天”“雨天”。:先生成完整决策树,再通过后序遍历判断是否需要剪掉子树,用叶节点代替。决策树是一种以树状结构进行决策和分类的监督学习算法,适用于。以天气特征为例,会从根节点分裂出三个子节点:A1(选择分裂评估指标中值最高的特征作为节点进行分裂。从叶节点往上回溯,逐个评估子树是否需要剪枝。通过递归,最终生成完整的决策树。

君子之学必日新,日新者日进也。不日新者必日退,未有不进而不退者 2352

手把手教你用Origin拟合真应力-真应变曲线:从数据到加工硬化指数n的完整流程

本文详细解析了如何使用Origin软件拟合真应力-真应变曲线并计算加工硬化指数n的全流程。从数据预处理、曲线绘制到Hollomon方程拟合,逐步指导材料科学研究人员完成实验数据分析,帮助准确评估金属材料的力学性能与强化特性。

view3的博客 710

海康威视摄像头网线连接笔记本电脑,客户端提示:1连接设备失败。设备不在线或网络原因引起的连接超时等。(HCNetSDK.dll[7].)解决方案

1.环境 电脑:联想笔记本电脑(win10系统) 摄像头:海康威视DS-2CD3T20D-i5,4mm 连接方式:直接用网线将摄像头和摄像头连接 2.问题: 客户端出现如下提示: 3. 解决流程: 1.确认网线是否有问题:我的网线指示灯常亮,并且设备能够被搜索到,只是一直显示离线 2.按照网上教程直接配置摄像头的ip地址与电脑同一网段:登录失败。 错误码为 HCNetSDK.dll[7].(连接设备失败。设备不在【海康威视吧】_百度贴吧 失败了,没有反应 3.查看有线网卡的地

weixin_48911487的博客 3万+

决策树(decision tree)(一)——构造决策树方法

决策树(decision tree) 说明:这篇博客是看周志华老师的《机器学习》(西瓜书)的笔记总结,博客中有大段文字摘自周老师的《机器学习》书,仅供学习交流使用。转载博客务必注明出处和作者,谢谢。 决策树算法起源于E.B.Hunt等人于1966年发表的论文“experiments in Induction”,但真正让决策树成为机器学习主流算法的还是Quinlan(罗斯.昆兰)大神(2011年

天泽28的专栏 10万+

UVM自学笔记3——项目之三——从零开始搭建ahb_sramc验证平台

创建如下所示的目录结构: 2.在tb的文件下:顶层的testbench如下:在tb中,第24行的代码将uvm宏相关的内容include进来,第26行的代码把uvm_pkg包导入进来,然后将agent相关的包(ahb_pkg/sram_pkg),testcase相关的包(uvm_ahb_sram_test_pkg)以及env相关的包(uvm_ahb_sram_env_pkg)都导入进来,在第38行和39行将接口以virtual interface的形式配置给ahb_agent和sramc_agent下

ZhangShuHuai11的博客 9470

【机器学习笔记】 决策树的生成与剪枝

什么是决策树?  决策树,首先从字面意思理解,它应该是一种树形结构的模型,结点类型包括内部结点和叶结点两种,内部节点表示某一个特征,也表示了一次做决策的过程,叶结点表示一个类,决策的最终结果保存到叶结点当中。每一次做决策都可以看作是if-then结构,整个决策树就是if-then的集合,所以单纯从理解它的思想角度来说可能要比线性模型更容易理解。 决策树的学习过程 特征选择:特征选择指的是从训练集的众多特征中选择一个特征作为当前层做决策的标准,特征选择的方法以及评估标准的不同会导致最终的决策树不同

Horizonhui 1344

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证`数据一致性`而引入的一种保护机制。 像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。 这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1466

手把手教你完成YOLOv8 PyQt5和PySide6目标检测界面搭建,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv8 与 PyQt5,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。支持目标检测、目标分割等模型进来检测

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

决策树生成算法流程图

输入:数据集D Created with Raphaël 2.1.0开始数据集中所有样本都属于同一类?生成叶节点,标记为该类结束特征集A是否为空?选择数据集中占比最多的类是否特征集A中所有特征只有一个取值?选择最优划分的特征a(算法:ID3,C4.5,CART...)遍历特征值特征值是否遍历完?根据特征值生成数据子集yesnoyesnoyesnoyesno

fangyuanqi的博客 1万+

STM32实战开发(71):STM32人脸识别开发教程:基于摄像头模块的人脸识别系统

在嵌入式系统中,STM32凭借其强大的计算性能、丰富的外设接口以及低功耗特性,成为了实现人脸识别系统的理想平台。STM32虽然没有强大的计算能力,但可以通过合理利用外部硬件加速模块,如DSP、GPU、FPGA等,结合轻量级的人脸识别算法,实现高效的人脸识别系统。尽管STM32的计算资源相对有限,但通过合理的优化和使用高效的算法,我们依然能够实现高效的人脸识别功能。在本项目中,我们使用。在STM32开发中,虽然处理能力有限,但通过优化算法和合理利用硬件加速,我们仍然可以实现一个轻量级的、实时的人脸识别系统。

2201_76125393的博客 1660

决策树过拟合现象_第五章 决策树(第1节 决策树模型与学习)

一、决策树模型与学习决策树是一种基本的分类和回归方法。在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。主要优点:模型具有可读性,分类速度快。决策树学习算法包含3个过程:特征选择、决策树的生成、决策树的剪枝。决策树学习常用的算法:ID3、C4.5、CART。第一次看上面的概念,我整个人都不好了。。。。。难道就这...

weixin_36054444的博客 556

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

[机器学习]决策树模型及实验

机器学习决策树

weixin_73049545的博客 2297

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

决策树算法原理和实现

决策树(Decision Tree)分类算法原理及应用 4.1 概述 决策树——是一种被广泛使用的分类算法。相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置。在实际应用中,对于探测式的知识发现,决策树更加适用。 决策树通常有三个步骤:特征选择、决策树的生成、决策树的修剪。 4.2 算法思想 通俗来说,决策树分类的思想类似于找对象。现想象一个女孩的母亲要给这个女孩介绍男朋友,于是...

xuxu96 2417

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

决策树

算法原理 决策树模型是一种描述对实例进行分类的树形结构。其由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internal node)和叶结点(leaf node)。内部结点表示一个特征或属性(features),叶结点表示一个类(labels)。 用决策树对需要测试的实例进行分类:从根节点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;...

qq_45778910的博客 151

【机器学习】决策树的构造过程,以西瓜数据集2.0为例,构造基于信息增益生成的决策树

信息增益表示通过选择某个特征进行分割后,数据集的熵的减少程度,基尼增益类似地衡量了数据集的不纯度的减少程度。这一步是为了衡量数据集的混乱程度,用于选择最佳的特征来进行分割。需要注意的是,决策树算法还有其他的构造方法和分割准则,例如基于基尼指数的CART算法、C4.5算法等。④对每个子节点,重复步骤1到步骤3,直到满足停止条件(例如:到达预定的树深度,节点中的样本数小于阈值等)。使用该特征进行数据集的分割,生成子节点。7 乌黑 稍蜷 浊响 稍糊 稍凹 硬滑 是。8 乌黑 稍蜷 浊响 清晰 稍凹 硬滑 是。

HUITOUzzz的博客 1955

机器学习算法之2:决策树

树模型简介 树模型是有监督学习类算法中应用广泛的一类模型,同时可应用于分类问题和回归问题,其中,用于解决分类问题的树模型常被称为分类树,而用于解决回归类问题的树模型被称作回归树。 树模型通过递归式切割的方法来寻找最佳分类标准,进而最终形成规则。其算法原理虽然简单,但模型本身适用面极广,且在分类问题和回归问题上均有良好的表现,外加使用简单,无须人为进行过多变量调整和数据预处理,同时生成规则清晰,模型...

The Zen of Data Analysis 584

决策树学习笔记(一)

决策树学习笔记(一) 前言 For GBDT: 提升树、GBDT是以分类树或者回归树为基本分类器的提升方法,在看提升树算法的时候我发现对决策树学习的一些细节并不清晰了,于是决定从头再学一遍。之前的理解还是比较粗浅,一直以为决策树比较简单,类似于很多的简单规则一级一级拼凑起来,其实对决策树的条件概率表示、特征选择、决策树生成以及剪枝都没有真正的掌握。真正的理解算法是要能够非

wu936754331的专栏 449

决策树剪枝西瓜书实现_【白话机器学习】算法理论+实战之决策树

来自于: AI蜗牛车团队(作者:Miracle8070)公众号: AI蜗牛车原文链接:【白话机器学习】算法理论+实战之决策树​mp.weixin.qq.com1. 写在前面如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法:监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Adaboost等无监督算法...

weixin_32382335的博客 345

【统计学习|书籍阅读】第五章 决策树 p55-p75

决策树是一种基本的分类与回归方法。主要讨论分类决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。可以认为是if-then规则的集合,也可认为是定义在特征空间与类空间的条件概率分布。 学习时,利用训练数据,根据损失函数最小化原则建立决策树模型。预测时,对新的数据,利用决策树模型进行分类。 决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修建。

m0_52427832的博客 704

【ML】决策树(1)

决策树基础,CART方法 《统计学习方法》李航

0x00 482

【机器学习】决策树

决策树是类似流程图的结构,其中每个内部节点表示一个测试功能(例如,硬币翻转出现正面或反面),每个叶节点都表示一个类标签(在计算所有特征之后做出的决定)和分支表示导致这些类标签的功能的连接。从根到叶的路径表示分类规则,下图说明了使用标签进行决策的决策树的基本流程(下雨(Yes),不下雨(No))。 2.1、决策树是什么 决策树呈树形结构,在分类问题中,...

小鱼菜鸟的博客 183

关于决策树

4)、训练算法:这个过程也就是构造决策树,同样也可以说是决策树学习,就是构造一个决策树的数据结构。因此,实际的决策树学习算法是基于启发式算法,例如在每个节点进行局部最优决策的贪心算法,这样的算法不能保证返回全局最有决策树,这个问题可以通过集成学习来训练多颗决策树来缓解,这多棵决策树一般通过对特征和样本又放回的随机采样来生成;(3)如果还有子集不能够被正确的分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点,如此递归进行,直至所有训练数据子集被基本正确的分类,或者没有合适的特征为止。

Tuoob的博客 116

机器学习第四章决策树

目录 决策树 3.1 决策树的构造 使用决策树做预测需要以下过程: 3.1.1 信息增益 3.1.2利用代码计算信息增益 3.2 决策树的生成和修剪 3.2.1 决策树的构建 3. 决策树的剪枝 3.1.2 决策树可视化 3.1.3 ID3、C4.5、CART的区别 3.4使用决策树进行分类 决策树 决策树(decision tree):是一种基本...

yanyiting666的博客 826
上一篇: Spring boot Gradle项目搭建
下一篇: Spring Boot Lombok配置
_萧_
博客等级 码龄10年 55粉丝 157原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值