与此不同,在随机森林中使用 AdaBoost,这些树通常是仅有一两个叶节点的的决策树。这样决策树通常叫做 stump。这样 stump 很难给出精确的推测,这个就不用解释了吧。
Chest Pain | Good Blood Circ. | Blocked Arteries | Weight | Heart Disease |
---|---|---|---|---|
No | No | No | 125 | No |
Yes | Yes | Yes | 180 | Yes |
Yes | Yes | No | 210 | No |
Yes | No | Yes | 167 | Yes |
如果用决策树来通过这个 4 特征来进行分类
- Good Blood Circ.
- Pain
- Yes
- No
- Weight
- Yes
- Blocked
- Yes
- No
- Pain
AdaBoost 和随机森林
返回到今天介绍 stump ,只能选择一个特征作为分类,那么明显 stump 属于弱分类器,但是这符合 AdaBoost 的需求,AdaBoost 就是通过将这些弱分类器组合得到强分类器。
我们都知道在随机森林中,通过最终每颗决策树投票给出最后的判断。他们投票资格都是均等,而在 AdaBoost 中,一些 stump 在最终推测上具有更大话语权。也就是说这些 stump 对最终的推测影响是不同的。而且在随机森林决策树生成是并行,而在 AdaBoost stump 生成是由先后顺序,也就是前一个stump 会对随后 stump 生成有影响。如何影响呢,具体点就是前一颗决策树的误差会作为下一颗决策树生成的基础。
AdaBoost 的特点
- AdaBoost 是由许多弱分类器 stump 所组成
- stump 对于最终推测具有不同话语权
- 每一颗 stump 生成都会考虑到前一颗 stump 的误差
更进步
Chest Pain | Blocked Arteries | Weight | Heart Disease |
---|---|---|---|
Yes | Yes | 205 | Yes |
No | Yes | 180 | Yes |
Yes | No | 210 | Yes |
Yes | Yes | 167 | Yes |
No | Yes | 156 | No |
No | Yes | 125 | No |
Yes | No | 168 | No |
Yes | Yes | 172 | No |
我们通过 Adaboost 来通过对这些数据进行分析来得到,首先我们要做的是给每一个样本权重来表示其重要性
Chest Pain | Blocked Arteries | Weight | Heart Disease | Sample Weight |
---|---|---|---|---|
Yes | Yes | 205 | Yes | |
No | Yes | 180 | Yes | |
Yes | No | 210 | Yes | |
Yes | Yes | 167 | Yes | |
No | Yes | 156 | No | |
No | Yes | 125 | No | |
Yes | No | 168 | No | |
Yes | Yes | 172 | No |
随后样本的权重会随着 stump 创建而改变,并影响到下一颗 stump 的创建。
- Checst Pain
- Yes
- correct 3
- Incorrect 2
- No
- Correct 2
- Incorrect 1
- Yes
我们通过 chest Pain 特征来进行分类得到上面结果。
-
Blocked Arteries
- Yes
- correct 3
- Incorrect 3
- No
- Correct 1
- Incorrect 1
- Yes
-
Weight > 176
- Yes
- correct 3
- Incorrect 0
- No
- Correct 4
- Incorrect 1
- Yes
Gini Index | stump |
---|---|
0.47 | Chest Pain |
0.5 | Blocked Arteries |
0.2 | Weight > 176 |
我们通过比较他们Gini指数知道以(Weight > 176)的 stump 效果最好,所有就选择这个 stump 作为第一颗 stump。我们之前已经说到不同 stump 具有不同话语权,那么我们看一看这个 stump 的话语权
最后希望大家关注我们微信公众号
wechat.jpeg
网友评论