理论知识:
梯度提升回归树通过合并多个决策树来构建一个更为强大的模型。虽然名字里有“回归”,但这个模型既能用于回归,也能用于分类。与随机森林方法不同,梯度提升采用连续的方式构造树,每棵树都试图纠正前一棵树的错误。默认情况下,梯度提升回归树中没有随机化,而是用到了强预剪枝。梯度提升树通常使用深度很小(1-5之间),这样的模型占用内存小,预测速度也更快。
梯度提升背后的主要思想是合并许多简单的模型(弱学习器),比如深度较小的树。每棵树只能对部分数据做出比较好的预测,因此添加的树越来越多,可以不断迭代来提高性能。
梯度提升树通常对参数设置非常敏感,但如果参数设置正确的话,模型精度会更高。
除了预剪枝和集成树的数量外,梯度提升的另一个重要参数是learning_rate(学习率),用于控制每棵树纠正前一棵树的错误的强度。较高的学习率意味着每棵树都可以做出较强的修正,这样的模型更为复杂。通过增大n_estimators来向集成中添加更多树,也可以增加模型的复杂度,因为模型有更多机会来纠正训练集上的错误。
默认参数上:树的数量为100、最大深度为3,学习率为0.1
示例:
以乳腺癌数据集为例,用分类模型:
from sklearn.ensemble import RandomForestClassifier,GradientBoostingClassifier
from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as

最低0.47元/天 解锁文章

1058

被折叠的 条评论
为什么被折叠?



