机器学习笔记三——决策树

Ubuntu20.04安装Ceres库 ceres真难安装。 阅读详情

一、决策树

1.1 基本思想

分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点有两种类型:内部结点和叶结点。内部结点表示一个特征或属性,叶结点表示一个类。

用决策树分类,从根节点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值。如此递归的对实例进行测试并分配,直至达到叶结点,最后将实例分到叶结点的类中。

决策树学习通过包括3个步骤:特征选择、决策树的生成和决策树的修剪。

1.2 特征选择

特征选择,即选取某个特征,然后根据这个特征对实例点进行分类。那么该如何选择特征呢?

1.2.1 熵

熵表示随机变量不确定性的度量。设 X X X是一个取有限个值的离散随机变量,其概率分布为: P ( X = x i ) = p i , i = 1 , 2 , ⋯   , n (1) P(X=x_i)=p_i, i=1,2,\cdots,n\tag1 P(X=xi​)=pi​,i=1,2,⋯,n(1)
则随机变量 X X X的熵为: H ( X ) = − ∑ i = 1 n p i log ⁡ p i (2) H(X)=-\sum\limits_{i=1}^np_i\log p_i\tag2 H(X)=−i=1∑n​pi​logpi​(2)
若 p i = 0 p_i=0 pi​=0,定义 p i log ⁡ p i = 0 p_i\log p_i=0 pi​logpi​=0。根据定义,随机变量 X X X的熵与 X X X的取值无关,只取决于 X X X的分布,因此有时也记作 H ( p ) = − ∑ i = 1 n p i log ⁡ p i (3) H(p)=-\sum\limits_{i=1}^np_i\log p_i\tag3 H(p)=−i=1∑n​pi​logpi​(3)
熵越大,随机变量的不确定性越大。

1.2.2 条件熵

设有随机变量 ( X , Y ) (X, Y) (X,Y),其联合概率分布为 P ( X = x i , Y = y j ) = p i j , i = 1 , 2 , ⋯   , n (4) P(X=x_i, Y=y_j)=p_{ij}, i=1, 2, \cdots, n\tag4 P(X=xi​,Y=yj​)=pij​,i=1,2,⋯,n(4)
条件熵 H ( Y ∣ X ) H(Y|X) H(Y∣X)表示在已知随机变量 X X X的条件下随机变量 Y Y Y的不确定性。随机变量 X X X给定的条件下随机变量 Y Y Y的条件熵定义为 H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) (5) H(Y|X)=\sum\limits_{i=1}^np_iH(Y|X=x_i)\tag5 H(Y∣X)=i=1∑n​pi​H(Y∣X=xi​)(5)
这里 p i = P ( X = x i ) , i = 1 , 2 , ⋯   , n p_i=P(X=x_i), i=1, 2, \cdots, n pi​=P(X=xi​),i=1,2,⋯,n

1.2.3 信息增益

信息增益表示得知特征 X X X的信息而使得类 Y Y Y的信息的不确定性减少的程度。

特征 A A A对训练集 D D D的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合 D D D的经验熵 H ( D ) H(D) H(D)与特征 A A A给定条件下 D D D的经验条件熵 H ( D ∣ A ) H(D|A) H(D∣A)之差,即 g ( D , A ) = H ( D ) − H ( D ∣ A ) (6) g(D,A)=H(D)-H(D|A)\tag6 g(D,A)=H(D)−H(D∣A)(6)
这里经验熵是指熵中的概率由数据估计得到的。

信息增益大的特征具有更强的分类能力,因此选取信息增益最大的特征。

在这里插入图片描述

1.2.4 信息增益比

以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题(从公式出发,信息增益是整个数据集的经验熵与特征a对整个数据集的经验条件熵的差值,信息增益越大即经验条件熵越小。从概念来讲,信息增益反映的给定一个条件以后不确定性减少的程度(由于特征a而使得数据集的分类不确定性减少的程度) , 必然是分得越细的数据集确定性更高,也就是条件熵越小,信息增益越大)。使用信息增益比则可以对这一问题进行校正。

详见如何理解C4.5算法解决了ID3算法的偏向于选择取值较多的特征问题

特征 A A A对训练数据集 D D D的信息增益比 g R ( D , A ) g_R(D, A) gR​(D,A)定义为信息增益 g ( D , A ) g(D, A) g(D,A)与训练数据集 D D D关于特征 A A A的值的熵 H A ( D ) H_A(D) HA​(D)之比,即 g R ( D , A ) = g ( D , A ) H A ( D ) (7) g_R(D, A)=\frac{g(D, A)}{H_A(D)}\tag7 gR​(D,A)=HA​(D)g(D,A)​(7)
其中, H A ( D ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ log ⁡ 2 ∣ D i ∣ ∣ D ∣ H_A(D)=-\sum\limits_{i=1}^n\frac{|D_i|}{|D|}\log_2\frac{|D_i|}{|D|} HA​(D)=−i=1∑n​∣D∣∣Di​∣​log2​∣D∣∣Di​∣​

1.3 决策树生成

1.3.1 ID3算法

ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归的生成决策树。具体方法是:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点,再对子结点递归的调用以上方法,构建决策树,直至所有特征的信息增益都很小或没有特征可以选择为止。

1.3.2 C4.5算法

C4.5算法与ID3算法类似,所不同的是:C4.5算法选用信息增益比作为特征选择的准则。

1.3.3 对比

详见 细说 ID3 算法与 C4.5 算法

1.4 决策树的剪枝

剪枝就是将树生成的不必要子树剪掉,减少叶子节点数量,降低树模型的复杂度。

总体来说,剪枝可分为预剪枝和后剪枝

1.4.1 预剪枝

预剪枝是指在完全正确分类前,决策树会较早的停止树的生长。而终止树继续向下生长的方法有很多,可总结为通用的停止和更严格的停止两种。

通用的停止:

  • 如果所有样本均属于一类,就停止
  • 如果样本的所有特征值都相同,就停止

更严格的停止:

  • 树达到一定深度
  • 节点内包含的样本点小于给定的阈值
  • 信息增益或信息增益比小于给定的阈值
  • 看划分前后的泛化性能(在独立的验证集上)是否有提升,也就是如果划分后泛化性能有提升,则划分;否则,不划分

1.4.2 后剪枝

后剪枝首先通过完全分裂构造完整的决策树,允许过拟合,然后采取一定的策略来进行剪枝。

常用的后剪枝策略包括:

比较项目和剪枝方法代价—复杂度剪枝(CCP)降低错误剪枝(REP)悲观错误剪枝(PEP)
是否需要独立验证集不需要需要不需要
剪枝方式自底向上自底向上自顶向下
误差估计标准误差独立剪枝集连续性校正
计算复杂度 O ( n 2 ) O(n^2) O(n2) O ( n ) O(n) O(n) O ( n ) O(n) O(n)
  • 代价—复杂度剪枝:在原有的经验损失函数(经验熵)上加入正则项,正则参数是树的叶子节点个数

设树的叶结点的个数为 ∣ T ∣ |T| ∣T∣, t t t是树 T T T的叶结点,该叶结点上有 N t N_t Nt​个样本点,其中 k k k类的样本点有 N t k N_{tk} Ntk​个, k = 1 , 2 , ⋯   , K k=1,2,\cdots,K k=1,2,⋯,K, H t ( T ) H_t(T) Ht​(T)为叶结点 t t t上的经验熵, α ≥ 0 \alpha\ge0 α≥0为参数,则决策树学习的损失函数可以定义为 C α ( T ) = ∑ t = 1 ∣ T ∣ N t H t ( T ) + α ∣ T ∣ (8) C_{\alpha}(T)=\sum\limits_{t=1}^{|T|}N_tH_t(T)+\alpha |T|\tag8 Cα​(T)=t=1∑∣T∣​Nt​Ht​(T)+α∣T∣(8) 其中,经验熵为 H t ( T ) = − ∑ k N t k N t log ⁡ N t k N t (9) H_t(T)=-\sum_{k}\frac{N_{tk}}{N_{t}}\log \frac{N_{tk}}{N_{t}}\tag9 Ht​(T)=−k∑​Nt​Ntk​​logNt​Ntk​​(9)

将 ( 8 ) (8) (8)式中右端第一项记作 C ( T ) C(T) C(T),那么 C α ( T ) = C ( T ) + α ∣ T ∣ (10) C_{\alpha}(T)=C(T)+\alpha |T|\tag{10} Cα​(T)=C(T)+α∣T∣(10)
其中, C ( T ) C(T) C(T)表示模型对训练数据的预测误差,即模型与训练数据的拟合程度, ∣ T ∣ |T| ∣T∣表示模型复杂度,参数 α ≥ 0 \alpha\ge0 α≥0控制两者之间的影响。较大的 α ≥ 0 \alpha\ge0 α≥0促使选择较简单的树模型。

剪枝就是当 α ≥ 0 \alpha\ge0 α≥0确定时,选择损失函数最小的模型,即损失函数最小的子树。 ( 8 ) (8) (8)式或 ( 10 ) (10) (10)式定义的损失函数的极小化等价于正则化的极大似然估计。所以,利用损失函数最小原则进行剪枝就是用正则化的极大似然估计进行模型选择。

  • 降低错误剪枝:最简单粗暴的一种后剪枝方法,就是看剪枝前后,验证集上的误差精度,以此决定是否剪枝
  • 悲观错误剪枝:把一颗子树(具有多个叶子节点)的分类用一个叶子节点来替代的话,误判率肯定是上升的(这是很显然的,同样的样本子集,如果用子树分类可以分成多个类,而用单颗叶子节点来分的话只能分成一个类,多个类肯定要准确一些)。于是我们需要把子树的误判计算加上一个经验性的惩罚因子。

对于一个叶子节点,它覆盖了 N N N个样本,其中有 E E E个错误,那么该叶子节点的错误率为 ( E + 0.5 ) / N (E+0.5)/N (E+0.5)/N。这个 0.5 0.5 0.5就是惩罚因子。
\quad
那么对于一颗子树,它有 L L L个叶子节点,那么该子树的剪枝前的误判率估计为 ( ∑ E + 0.5 ∗ L ) / ∑ N (\sum E+0.5*L)/\sum N (∑E+0.5∗L)/∑N。剪枝后内部节点变成了叶子节点,其误判个数 J J J也需要加上一个惩罚因子,所以剪枝后的误判率估计为 ( J + 0.5 ) / ∑ N (J+0.5)/\sum N (J+0.5)/∑N。
\quad

1.4.3 对比

预剪枝

  • 优点:

    • 更快
    • 能降低过拟合
  • 缺点:

    • 尽管有些分支的划分不能提升泛化性能,但是后续划分可能使性能显著提高,由于预剪枝没有展开这些分支,带来了欠拟合的风险。

后剪枝:

  • 优点:后剪枝通常比预剪枝保留更多的分支,欠拟合风险小
  • 缺点:后剪枝是在决策树构造完成后进行的,其训练时间的开销会大于预剪枝。

二、CART算法

CART算法,分类与回归树,是应用广泛的决策树学习方法。CART同样由特征选择、树的生成和树的剪枝组成。CART是在给定输入随机变量 X X X条件下输出随机变量 Y Y Y的条件概率分布的学习方法。CART假设决策树是二叉树,内部节点特征的取值为“是”和“否”,左分支为“是”的分支。这样的决策树等价于递归的二分每个特征。

CART由以下两步组成:

  1. 决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大
  2. 决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,此时可用损失函数最小作为剪枝的标准。

2.1 CART生成

决策树的生成就是递归的构建二叉决策树的过程。对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。

以分类树为例。

基尼指数:假设有 K K K个类,样本点属于第 k k k类的概率为 p k p_k pk​,则概率分布的基尼指数定义为 G i n i ( p ) = ∑ i = 1 K p k ( 1 − p k ) = 1 − ∑ i = 1 K p k 2 (11) Gini(p)=\sum\limits_{i=1}^Kp_k(1-p_k)=1-\sum\limits_{i=1}^Kp_k^2\tag{11} Gini(p)=i=1∑K​pk​(1−pk​)=1−i=1∑K​pk2​(11)
对于给定的样本集合 D D D,其基尼指数为 G i n i ( D ) = 1 − ∑ i = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 (12) Gini(D)=1-\sum\limits_{i=1}^K(\frac{|C_k|}{|D|})^2\tag{12} Gini(D)=1−i=1∑K​(∣D∣∣Ck​∣​)2(12)
其中, C k C_k Ck​是 D D D中属于第 k k k类的样本子集。基尼指数 G i n i ( D ) Gini(D) Gini(D)表示集合 D D D的不确定性,基尼指数值越大,样本集合的不确定性也就越大。

如果样本集合 D D D根据特征 A A A是否取某一可能值 a a a被分割成 D 1 D_1 D1​和 D 2 D_2 D2​两部分,那么在特征 A A A的条件下,集合 D D D的基尼指数定义为 G i n i ( D , A ) = ∣ D 1 ∣ ∣ D ∣ G i n i ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ G i n i ( D 2 ) (13) Gini(D, A)=\frac{|D_1|}{|D|}Gini(D_1)+\frac{|D_2|}{|D|}Gini(D_2)\tag{13} Gini(D,A)=∣D∣∣D1​∣​Gini(D1​)+∣D∣∣D2​∣​Gini(D2​)(13)

关于基尼指数:

  • 基尼指数和熵类似,都是越大,集合的不确定性越大。
  • G i n i ( D , A ) Gini(D, A) Gini(D,A)表示经过特征 A A A分割后集合 D D D的不确定性,所以 G i n i ( D , A ) Gini(D, A) Gini(D,A)越小越好;而信息增益是经过特征 A A A分割后集合不确定性下降的程度,所以越大越好。总之,就是让经过特征分割后的集合,不确定性最小。

为什么选用基尼指数?

  • 运算速度比熵快。前面说到过,熵由于取对数,所以运算比较慢。而基尼指数只有平方运算,而且还只是二分类,所以更快
  • 性能和熵模型接近。对 ln ⁡ x \ln x lnx在 x = 1 x=1 x=1处进行一阶泰勒展开,有 ln ⁡ x = − 1 + x + o ( x ) \ln x=-1+x+o(x) lnx=−1+x+o(x),所以熵 = − ∑ i = 1 n p i ln ⁡ p i = − ∑ i = 1 n p i ( − 1 + p i ) = ∑ i = 1 n p i ( 1 − p i ) =-\sum\limits_{i=1}^np_i\ln p_i=-\sum\limits_{i=1}^np_i(-1+p_i)=\sum\limits_{i=1}^np_i(1-p_i) =−i=1∑n​pi​lnpi​=−i=1∑n​pi​(−1+pi​)=i=1∑n​pi​(1−pi​)=基尼指数。所以基尼指数可以理解为熵模型的一阶泰勒展开

CART生成算法:
从根节点开始,递归的对每个结点进行以下操作,构建二叉决策树:

  1. 设训练集为 D D D,对每一个特征 A A A,对其可能取的每一个值 a a a,将数据集分为 D 1 D_1 D1​和 D 2 D_2 D2​两部分,再根据 ( 13 ) (13) (13)计算 A = a A=a A=a时的基尼指数
  2. 在所有可能的特征 A A A以及它们所有可能的切分点 a a a中,选择基尼指数最小的特征及其对应的切分点作为最优特征和最优切分点,从现结点生成两个子结点,将数据集进行分配
  3. 对两个子结点递归的调用1和2
  4. 生成CART决策树

算法停止的条件是结点中的样本数小于预定阈值,或样本集的基尼指数小于预定阈值(样本基本属于同一类),或者没有更多特征。

2.2 CART回归树生成

在这里插入图片描述

2.4 CART剪枝

CART剪枝算法由两步组成:首先从生成的决策树 T 0 T_0 T0​底端开始不断剪枝,直到 T 0 T_0 T0​的根节点,形成一个子树序列 { T 0 , T 1 , ⋯   , T n } \{T_0, T_1, \cdots, T_n\} {T0​,T1​,⋯,Tn​};然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。

2.4.1 生成子树

在剪枝过程中,计算子树的损失函数: C α ( T ) = C ( T ) + α ∣ T ∣ C_\alpha(T)=C(T)+\alpha|T| Cα​(T)=C(T)+α∣T∣
其中, T T T为任意子树, C ( T ) C(T) C(T)是对训练数据的预测误差(如基尼指数),衡量训练数据的拟合程度; ∣ T ∣ |T| ∣T∣为子树的叶节点个数,衡量树的复杂度; α ≥ 0 \alpha\ge0 α≥0为参数,衡量拟合程度与树的复杂度, α \alpha α越小,越不考虑树的复杂度,所以子树 T T T可以越大,当 α = 0 \alpha=0 α=0时,子树就是完全树。当 α → ∞ \alpha\to\infty α→∞时,子树就是一个根节点。

那么如何找到合适的 α \alpha α呢?最好的办法就是将 α \alpha α从 0 0 0取到正无穷, 0 = α 0 < α 1 < ⋯ < α n < ∞ 0=\alpha_0\lt \alpha_1\lt\cdots\lt\alpha_n\lt\infty 0=α0​<α1​<⋯<αn​<∞,产生一系列的区间 [ α i , α i + 1 ) , i = 0 , ⋯   , n [\alpha_i,\alpha_{i+1}), i=0,\cdots,n [αi​,αi+1​),i=0,⋯,n;在每一个 [ α i , α i + 1 ) [\alpha_i,\alpha_{i+1}) [αi​,αi+1​)中,子树 T i T_i Ti​是最优的,所以就能得到一个子树序列 { T 0 , T 1 , ⋯   , T n } \{T_0, T_1, \cdots, T_n\} {T0​,T1​,⋯,Tn​}

2.4.2 选择子树

利用独立的验证数据集,测试子树序列 { T 0 , T 1 , ⋯   , T n } \{T_0, T_1, \cdots, T_n\} {T0​,T1​,⋯,Tn​}中各课子树的平方误差或基尼指数。平方误差或基尼指数最小的决策树被认为是最优的决策树。

2.5 优缺点

  • 优点:
    • 简单直观,生成的决策树很直观
    • 既可用于分类,又可用于回归
    • 可以交叉验证的剪枝来选择模型,从而提高泛化能力。
    • 对类别不平衡的数据依旧表现不错(它使用基于类变量的划分规则去创建分类树,因此可以强制地将不同类别的样本分开。)
  • 缺点:
    • 决策树会因为样本发生一点点的改动,就会导致树结构的剧烈改变。这个可以通过集成学习之类的方法解决
    • 决策树算法非常容易过拟合,导致泛化能力不强。可以通过设置节点最少样本数量和限制决策树深度来改进

参考:《统计学习方法》李航 著

Allegro如何使用Cross Copy命令快速复制器件的位号和丝印外形其他层 在Allegro做PCB设计的时候,如果需要复制器件的位号到其它层是无法直接实现的,如果直接拷贝器件的位号的话,效果如下。但是Allegro的Cross Copy命令是支持复制任何属性的图形到其它层的,下面以复制器件位号和丝印外框为例说明。同样如果使用Z-copy命令,也是无法Z-copy text的,Finds下方texts是灰色的。如何使用Cross Copy命令快速复制器件的位号和丝印外形其他层。另外cap处可以选择线段的端点是圆形,八角形,或者方形的铜皮。拷贝C1013,出现的是C* 阅读详情

相关推荐

esp32移植canopen协议栈(二)

本文续接上一篇文章,之前我们已经搭建好了esp32的开发环境,以及初始工程。接下来我们开始实现can驱动相关,以及使用c++封装can接口。本文使用esp32实现c++实现can驱动层的封装。下一步移植canopen!!!嘻嘻。

qq_50267418的博客 1905

树相关学习笔记

二叉树 二叉树是每个节点最多有两个子节点的树。 二叉树的叶子节点有0个子节点,二叉树的根节点或者内部节点有一个或者两个子节点。 先序遍历:根左右。 中序遍历:左根右。 后序遍历:左右根。 ...

有个疙叫瘩儿的博客 1040

CAN通信:EB中配置CAN驱动,配置参数解析

以S32K314芯片说明,其他芯片不同,参数配置也有差异。

zhangxiaio1的博客 2166

决策树

一、前言 1.决策树学习存在三个过程:特征选择,决策树生成,决策树剪枝。 2.决策树的节点有两种类型:内部节点和叶节点,内部节点表示一个特征,叶子节点代表一个类别。 二、决策树学习 1.特征选择 特征选择就是要优先选取对于训练数据具有良好分类能力的特征进行特征空间的划分,其准则就是信息增益或信息增益比。 根据信息增益准则的特征选择方法是:对训练数据集或数据子集D,计算每个特征的信息增益...

小王的博客 2121

239号资源-simulink仿真:MATLAB/Simulink教程(PDF文档)-----已提供下载资源

电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.《《《《《《《《更多资源还请持续关注本专栏》》》》》》》《《《《《《《《更多资源还请持续关注本专栏》》》》》》》论文与完整源程序_电网论文源程序的博客-优快云博客。电网论文源程序-优快云博客。

LIANG674027206的博客 1074

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的博客 9472

第五章 树与二叉树

二叉树是一种特殊的树结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树广泛应用于计算机科学的各种领域,如搜索、排序、表达式解析等。二叉树是一个由节点组成的集合,这个集合要么是空集(即没有任何节点),要么是满足以下条件的非空集合:有一个称为根的节点。根节点有两个子二叉树,分别称为左子树和右子树,这两个子树也是二叉树。顺序存储结构适用于完全二叉树或接近完全二叉树,具有直接计算节点位置的优势,但对不完全二叉树来说空间浪费较大。链式存储结构。

m0_62279628的博客 1354

Apache Doris集群IP变更急救指南:用Docker容器+priority_networks快速恢复FE/BE节点

本文详细介绍了Apache Doris集群在IP变更情况下的应急处理方案,通过Docker容器和priority_networks配置快速恢复FE/BE节点。文章提供了从容器化环境构建、元数据迁移到生产环境切换的全流程指南,帮助运维团队在30分钟内完成集群恢复,显著减少停机时间。

pink7的博客 114

数据结构概述

数据结构 演示网页:Data Structure Visualization 二叉树:[单路 - 不在乎高度差 ] xn’sum:直接往里插,不用在乎两侧的高度。傻傻的往里插就行嘞。【傻插】 1、每个节点最多有两颗子树(树分支) 2、左子树和右子树是有顺序的,同层级相邻节点,右边的值比左边大。 3、即使某节点只有一颗子树,也要区分左右子树。 在所有的树结构中,基本上都遵循左小右大的原则,最上层节点称之为跟节点,最下面的节点称之为叶子节点,也叫叶节点,中间的节点称之为枝节点。 平衡二叉树

tsundere_ning的博客 1058

中科蓝讯蓝牙开发:从源码到固件的自动化构建链路解析

本文详细解析了中科蓝讯AB530X蓝牙芯片从源码到最终固件的完整自动化构建链路。通过剖析prebuild.bat、GCC编译、postbuild.bat等关键环节,阐述了资源打包、配置生成、代码编译与固件合成的全过程,并重点介绍了如何实现一键编译与自动下载,为开发者高效进行嵌入式蓝牙开发提供清晰指南。

weixin_29193259的博客 121

静态时序分析—伪路径(set_false_path)

set_false_path应用场景

m0_61544122的博客 2万+

决策树算法

决策树、经验熵

weixin_45746505的博客 1249

Flink CDC 中 StartupOptions 模式详解

Flink CDC 的 StartupOptions 模式用于指定作业启动时从源数据读取数据的起始位置,不同的模式适用于不同的业务场景,可满足多样化的数据处理需求,主要有 Initial 模式、Earliest 模式、Latest 模式、SpecificOffset 模式和 Timestamp 模式。

RodJohnsonDoctor的专栏 849

机器学习笔记(三)——决策树、随机森林

写本系列的目的是回顾已经学过的知识、记录新学习的知识或是记录心得理解,方便自己以后快速复习,减少遗忘。概念部分大部分来自于机器学习菜鸟教程,公式部分也会参考机器学习书籍、阿里云天池。机器学习如果只啃概念始终学不牢,因此我打算概念与代码结合。决策树部分来自于,可以去看她的视频,讲的很不错。我在她的基础上补充了一些内容。

qq_65078669的博客 1723

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

机器学习笔记(三)决策树

1.1 决策树的概念决策树(decision tree)是一种基本的分类与回归方法。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。决策树是一种描述对实例进行分类的树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果,本质是一颗由多个判断节点组成的树。分类决策树模型是一种树形结构。决策树由结点和有向边组成。

Shonllow的博客 1018

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

机器学习笔记(三):决策树

决策树 决策树(DT)是一种用于分类和回归的非参数监督学习方法。目的是创建一个模型,通过学习从数据特征推断出的简单决策规则来预测目标变量的值。 1、常用的决策树算法见下表: 2、分类——实现类是DecisionTreeClassifier,能够执行数据集的多类分类 输入参数为两个数组X[n_samples,n_features]和 y[n_samples],X 为训练数据,y 为训练数据的标记...

weixin_44947339的博客 547

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

机器学习笔记三 决策树算法

决策树算法(一)基本介绍1.1 决策树原理1.2 决策树的优缺点及适用类型1.3 信息增益(二)决策树算法概述2.1 算法理论2.2 ID3算法2.3 C4.5算法2.4 CART算法2.5 剪枝处理(三)决策树构建3.1 数据处理(子功能模块)3.2 递归构建决策树3.3测试分类和存储分类器3.4 使用 Matplotlib 绘制树形图(四) 实例:使用决策树预测隐形眼镜类型 (一)基本介绍 决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过

weixin_44330777的博客 712

《机器学习实战》学习笔记(三):决策树

专栏【机器学习】 【机器学习】《机器学习实战》读书笔记及代码 总目录 https://blog.youkuaiyun.com/TeFuirnever/article/details/99701256 —————————————————————————————————————————————————————— 目录专栏【机器学习】本章内容1、决策树2、决策树的构造1)特征选择1. 香农熵2. 信息增益2)决...

种树最好的时间是10年前,其次是现在!!! 8815

吃瓜教程ML--笔记三--决策树

吃瓜教程ML--笔记三--决策树什么是决策树3种决策树ID3决策树(Iterative Dichotomiser)熵(entropy)信息增益C4.5决策树增益率CART决策树(Classification And Regression Tree)基尼指数(Gini index)训练过程剪枝sklearn代码决策树可视化参考资料 什么是决策树 decision tree决策树是一种基本的分类和回归方法。顾名思义,决策树模型呈树形结构,就是数据结构中的树,有一个根节点、若干个内部节点、若干个叶子节点(决策结果

weixin_46303299的博客 691

机器学习实战笔记(三)决策树

这章的内容开始有点晦涩了,有几个地方还没有弄得太明白。先按照一般思路往下说吧。 特点: 计算复杂度不高、输出结果易于理解、对中间值的缺失不敏感、可以处理不相关特征数据、适用数据类型是数值型和标称值型数据(离散数据)、可能会产生过度匹配问题 原理: 在给定的数据集上,可以根据不同的特征值对数据集进行重新划分为不包含该特征的子集,其中能够找到一个最好的特征对数据集进行划分,每个字数据集对应了决

758

机器学习笔记之分类算法(三)决策树

转载自:https://www.leiphone.com/news/201705/vS6CaMI8bfSIjrlk.html 我们知道,在机器学习中有两类十分重要的问题,一类是分类问题,一类是回归问题。我们今天所要探讨的就是在分类和回归问题中所用到的一种非常基本的方法,叫决策树。决策树也是重要的标签学习方法。这篇文章里面的部分内容来自于 AI 慕课学院的《机器学习理论与实战高级特训班》课程笔记。 ...

Chere_xy的博客 1026

机器学习入门学习笔记(三)决策树

一、基本流程 决策树(decision tree)是一类常见的机器学习方法。它是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。 决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程道循简单且直观的“分而治之”(divide-and-conquer)策略。 1.1 决策树的结构 一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点。 根结点:包含样本全集; 内部结点:对应一个“子决策”,其包含的样本集合 根据属性测试的结果被划分到子结点中; 叶

chengdong996的博客 2046

《机器学习实战》学习笔记三:决策树

1.信息增益 决策树应该是比较简单的概念了,其结构类似于二叉树,从根节点向下依次判断,直至叶子节点获得结果。对于基本结构不多说了,这里主要说一下和决策树相关的两个数学上的概念,即信息增益和香农熵。信息增益是指的以某一个特征对数据集划分前后数据集发生的变化,而香农熵则是度量这一变化的量。 香农熵的计算公式如下: 计算香农熵的代码: def calcShannonEnt(dataSet

爱在梦醒时分的博客 335

机器学习笔记(三)决策树 - 分类与回归

机器学习笔记(三)决策树分类一.简介二.先看一个简单的例子三.决策树分类原理1.分类过程概述2.训练过程(1)递归分裂(2)最佳分裂及分裂条件(3)叶子节点的标签(4)终止分裂四.手写鸢尾花分类1. 数据集介绍2. 实现过程(1)数据预处理(2)建立决策树(3)分类 本文将介绍使用决策树完成字母数据集的分类任务,并且手写决策树完成鸢尾花的分类 一.简介 决策树是一种基于规则的方法,它用一组嵌套的规则进行预测。在书的每个决策节点处,根据判断结果进入一个分支,反复执行这种操作直至达到叶子节点,得到预测结果,

CYS_zxcvbnm的博客 1655

优快云机器学习笔记三 决策树、随机森林

一、决策树1.示例要决策一个人喜不喜欢电子游戏。 数据丢进去,数据通过节点一步步走,最终会到一个叶子节点,没有一个数据是在中间的。1.训练阶段 从给定的训练数据集DB,构造出一棵决策树 class=DecisionTree(DB)2.分类阶段 从根开始,按照决策树的分类属性逐层往下划分,直到叶节点,获得概念(决策、分类)结果。 y=DecisionTree(x) 另一个例子: 明天有一

猿来这样-谢厂节的博客 3024
上一篇: 机器学习笔记二——k近邻
下一篇: 机器学习笔记一——感知机
米法·
博客等级 码龄8年 179粉丝 116原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值