集成学习-cart树原理

189 阅读2分钟

集成学习-cart树原理

因下方公式较多,部分内容笔者从自己的笔记中截图放出,原笔记放在链接中供大家自取

1 cart树介绍

分类与回归树CART(Classification and Regression Trees),既可用于分类也可用于回归。

CART被称为数据挖掘领域内里程碑式的算法。不同于C4.5,CART本质是对特征空间进行二元划分(即CART生成的决策树是一棵二叉树),并能够对标量属性(nominal attribute)与连续属性(continuous attribute)进行分裂。

1.1 明确点

cart可用于分类和回归。

1.2 分类决策树的应用

cart决策树;

随机森林。

1.3 回归决策树的应用

GBDT;

Xgboost;

LightGBM。

虽然上述提到的都可以用于分类问题,但是由于底层区别,因此检验方式出入巨大(后做介绍)。

演示数据

image.png

2 CART分类树

分类树是用基尼指数选择最优特征,同时决定该特征的最优二值切分点。

2.1 基尼指数

image.png 其中基尼指数 Gini(D)表示集合的不确定性,基尼指数 Gini(D,A)表示A=a分解后集合的不确定性。基尼指数越大,样本集合的不确定性越大。

2.2 计算步骤

(1) 计算现有特征对该数据集的基尼指数,对于每一个特征AA,可以就样本点AA是否为aa将数据集DD分成数据集D1D1,D2D2

(2) 对于所有的特征AA和所有可能的切分点aa,选择基尼指数最小的特征以及相对应的切分点作为最优特征和最佳切分点。

(3) 对最优子树递归调用(1)(2),直到满足停止条件。

(4) 生成CART分类树。

2.3 计算演示

现在计划按职业对婚姻状况进行划分

第一种划分情况:

R1R1={“学生”},R2R2={“老师”,”上班族”}

Gini(A,D)Gini(A,D) = 3/7[(1 − (1/3))^2 − (2/3)^2] + 4/7(1 − (3/4)^2 − (1/4)^2) = 17/42

第2种划分情况:

R1R1={“学生”, “老师”},R2R2={”上班族”}

Gini(A,D)Gini(A,D) = 5/7[(1 − (2/5))^2 − (3/5)^2] + 2/7(1 − (2/2)^2) = 12/35

第3种划分情况:

R1R1={“学生”, ”上班族”},R2R2={“老师”}

Gini(A,D)Gini(A,D) = 5/7[(1 − (3/5))^2 − (2/5)^2] + 2/7(1 − (1/2)^2 − (1/2)^2) = 17/35

选择最小基尼指数,即R1R1={“学生”, “老师”},R2R2={”上班族”},即判定条件为是否为上班族;

若量化为指标1,2,3,则判定条件为 if x==2。

同时,注意情况二,之所以情况二基尼指数最低,是因为2中划分出一个基尼指数为0的纯子集

分类决策树对于变量的划分方式已经演示结束。随机森林底层就是多个分类决策树

3 CART回归树

回归树使用最小二乘法回归树生成算法

3.1 最小二乘

image.png

3.2 计算演示

image.png

与分类树结果相印证。