一、xgboost原理
1. 实践证明,tree boosting(树提升)可以有效地用于分类和回归任务中,提升方法是一种非常有效的机器学习方法,xgboost是提升的强化版本。
2. 和决策树相关,集成了多个弱学习器。
3. 提升算法,相当于一棵树一棵树地加,每加一棵树要使得总体的效果得到提升。
4. 严谨地讲解:
(1)如下图,这里用到了两棵树,第一棵树说小男孩去玩游戏的权是2,第二棵树说是0.9,于是综合起来,小男孩对应的就是2+0.9=2.9
(2)数学表示
预测结果可以表示为
(3)提升的过程如下图,其中,t表示有几棵树。可以看出,就是在原来的基础上,一棵一棵地往上加吼。
(4)正则惩罚项/损失值的计算:其中,γ是惩罚系数,T是叶子节点数目,后面一项是权值w的L2模平方
由经验知,叶子节点数太多,容易过拟合
意义:损失值越小,树的结构越好
损失值计算示例:
(5)笔记和脑子都比较乱啦,先记录下来
梯度提升决策树,又叫做残差决策树~
二、求解
把从样本遍历转换为从叶子节点上遍历
三、安装xgboost
1. 使用anconda prompt安装,只需输入命令行:pip install xgboost即可
2. 在pycharm中选择
在setting中选择
然后点击右侧窗口中的加号,添加库
选择install即可