本文的主要内容是基于Python机器学习基础教程决策树部分进行整理和总结。
模型描述
梯度提升回归树和随机森林一样,是一种决策树集成方法,通过合并多个决策树来构建一个更为强大的模型。虽然名字中有“回归”,但是该方法既能用于回归问题,也能用于分类问题,与随机森林不同的是,梯度提升回归树(GBDT)采用连续的方式构造树,每棵树都在试图修正前一棵树的错误。默认情况下,梯度提升回归树没有随机化,而是用到了强预剪枝,并且梯度提升通常使用深度很小(1<max_depth<5)的树。这样的模型占用内存小,预测速度也更快。
梯度提升的主要思想在于合并多个简单模型,每棵树只能对部分数据做出好的预测,添加的树越多,就可以不断的迭代提高性能。
与随机森林相比,梯度提升对参数设置更为敏感,如果参数设置正确的话,模型精度也会更高。
Sklearn实现
应用梯度提升算法对乳腺癌数据进行预测,默认使用100棵树,最大深度3,学习率0.1(学习率用于控制每棵树纠正前一棵树错误的强度,高学习率对应更复杂的模型)
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import GradientBoostingClassifier
cancer = load_bre