决策树详解

决策树是一种常用机器学习算法用于分类回归任务。它通过一系列规则数据进行分割,以达到最佳的分类效果

决策树核心概念

1. 节点(Node

2. 分割规则(Splitting Rule)

3. 纯度和信息增益

数学原理

1. 信息熵(Entropy

2. 信息增益

  • 信息增益是选择分割条件的依据:

    I

    G

    (

    S

    ,

    A

    )

    =

    H

    (

    S

    )

    t

    T

    S

    t

    S

    H

    (

    S

    t

    )

    IG(S, A) = H(S) – sum_{t in T} frac{|S_t|}{|S|} H(S_t)

    IG(S,A)=H(S)tTSStH(St)

    其中

    A

    A

    A特征

    T

    T

    T基于特征

    A

    A

    A 的分割,

    S

    t

    S_t

    St 是分割后的子集

3. 基尼不纯度(Gini Impurity

  • 另一种度量数据不纯度的方法

    G

    (

    S

    )

    =

    1

    i

    =

    1

    c

    p

    i

    2

    G(S) = 1 – sum_{i=1}^{c} p_i^2

    G(S)=1i=1cpi2

  • 在某些决策树算法中,例如CART(分类与回归树),会使用基尼不纯度作为分割的标准

应用实现

手写决策树及其数学概念解释

决策树是一种流行的机器学习方法,用于分类和回归任务。它通过创建一系列决策规则来预测数据的类别或值。以下是对决策树中纯度、信息增益、信息熵的概念和计算解释

示例数据集

假设我们一个简单的数据集,包含两个特征(Feature 1和Feature 2)和一个目标类别(Class):

信息熵(Entropy

信息熵是一种衡量数据集不确定性度量定义为:

H

(

S

)

=

i

=

1

c

p

i

log

2

p

i

H(S) = –sum_{i=1}^{c} p_i log_2 p_i

H(S)=i=1cpilog2pi

其中,

S

S

S 是数据集,

c

c

c类别的数量,

p

i

p_i

pi 是类别

i

i

i 在数据集中的比例。

初始信息熵

对于上述数据集,两个类别各占一半,所以信息熵为:

H

(

S

)

=

(

0.5

log

2

0.5

+

0.5

log

2

0.5

)

=

1

H(S) = –left(0.5 log_2 0.5 + 0.5 log_2 0.5right) = 1

H(S)=(0.5log20.5+0.5log20.5)=1

信息增益(Information Gain)

信息增益是选择分割规则的依据,基于信息熵的减少量计算。信息增益定义为:

I

G

(

S

,

A

)

=

H

(

S

)

t

T

S

t

S

H

(

S

t

)

IG(S, A) = H(S) – sum_{t in T} frac{|S_t|}{|S|} H(S_t)

IG(S,A)=H(S)tTSStH(St)

其中

A

A

A 是特征,

T

T

T基于特征

A

A

A 的分割,

S

t

S_t

St 是分割后的子集

分割示例

假设我们根据Feature 1分割数据集:

  • 分割后两个子集分别为:[A, A] 和 [B, B],每个子集的信息熵为0(因为它们都是纯的)。

  • 信息增益为:

    I

    G

    (

    S

    ,

    Feature 1

    )

    =

    1

    (

    2

    4

    ×

    0

    +

    2

    4

    ×

    0

    )

    =

    1

    IG(S, text{Feature 1}) = 1 – left(frac{2}{4} times 0 + frac{2}{4} times 0right) = 1

    IG(S,Feature 1)=1(42×0+42×0)=1

决策树构建

  1. 开始:从根节点开始,包含所有数据。
  2. 分割选择选择使信息增益最大化的特征进行分割。
  3. 创建分支:为每个唯一创建一个分支
  4. 递归:对每个分支重复上述过程
  5. 停止条件:当达到某个条件(如纯度达到一定程度,达到最大深度等)时停止

最终,每个叶节点代表一个预测的类别或值。

信息增益(Information Gain)详解

信息增益是决策树算法中用于选择特征分割点关键指标,它基于信息熵的减少量来评估特征的重要性。

信息熵(Entropy

信息熵是一种衡量数据集不确定性度量。在决策树中,它用来评估数据集中的混乱程度。信息熵定义为:

H

(

S

)

=

i

=

1

c

p

i

log

2

p

i

H(S) = –sum_{i=1}^{c} p_i log_2 p_i

H(S)=i=1cpilog2pi

其中,

S

S

S 是数据集,

c

c

c 是类别的数量,

p

i

p_i

pi 是类别

i

i

i 在数据集中的比例。

示例计算信息熵

假设我们有一个数据集,其中有9个样本属于类别A,5个样本属于类别B。信息熵计算如下

H

(

S

)

=

(

9

14

log

2

9

14

+

5

14

log

2

5

14

)

0.940

H(S) = -left(frac{9}{14} log_2 frac{9}{14} + frac{5}{14} log_2 frac{5}{14}right) approx 0.940

H(S)=(149log2149+145log2145)0.940

信息增益(Information Gain)

信息增益衡量了在某个特征上进行分割后信息熵的减少。信息增益越高,意味着该特征对于分类的贡献越大。信息增益定义为:

I

G

(

S

,

A

)

=

H

(

S

)

t

T

S

t

S

H

(

S

t

)

IG(S, A) = H(S) – sum_{t in T} frac{|S_t|}{|S|} H(S_t)

IG(S,A)=H(S)tTSStH(St)

其中

A

A

A 是特征,

T

T

T基于特征

A

A

A 的分割,

S

t

S_t

St 是分割后的子集

示例计算信息增益

假设我们根据某个特征(例如Feature 1)将上述数据集分为两个子集

首先计算子集的信息熵:

H

(

S

1

)

=

(

6

8

log

2

6

8

+

2

8

log

2

2

8

)

0.811

H(S_1) = -left(frac{6}{8} log_2 frac{6}{8} + frac{2}{8} log_2 frac{2}{8}right) approx 0.811

H(S1)=(86log286+82log282)0.811

H

(

S

2

)

=

(

3

6

log

2

3

6

+

3

6

log

2

3

6

)

=

1

H(S_2) = -left(frac{3}{6} log_2 frac{3}{6} + frac{3}{6} log_2 frac{3}{6}right) = 1

H(S2)=(63log263+63log263)=1

然后计算信息增益:

I

G

(

S

,

Feature 1

)

=

0.940

(

8

14

×

0.811

+

6

14

×

1

)

0.048

IG(S, text{Feature 1}) = 0.940 – left(frac{8}{14} times 0.811 + frac{6}{14} times 1right) approx 0.048

IG(S,Feature 1)=0.940(148×0.811+146×1)0.048

结论

信息增益帮助我们确定哪个特征在分割数据时更有效。在构建决策树时,我们通常选择具有最高信息增益的特征作为分割点,以此逐步构建树的结构,从而提高分类的准确性。

原文地址:https://blog.csdn.net/h52013141/article/details/134757553

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_45388.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注