梯度提升决策树
GBRT是另一种集成方法(前一个是随机森林算法,二者的根基都是决策树),但与随机森林的集成方法不同,GBRT采用连续的方式构造树,每棵树都尝试纠正前一棵树的错误(通过调节重要的参数学习率learning_rate来对当前树对前一棵树的纠错强度进行限制,较小的learning_rate可以降低对模型的限制,即缓解过拟合,提高模型的泛化能力)。默认情况下,GBRT不进行随机化,但是会进行强预剪枝,每棵树的深度很小(在1~5之间)。
性能
同样使用乳腺癌数据集查看GBRT的性能,先使用默认的模型:
from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import train_test_split
cancer = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, random_state=0)
gbrt = GradientBoostingClassifier(random_state=0)
gbrt.fit(X_train, y_train)
print("Acc on training set:{:.2f}".f