CART树
算法分类与回归树的英文是Classfication And Regression Tree,缩写为CART。CART算法采用二分递归分割的技术将当前样本集分为两个子样本集,使得生成的每个非叶子节点都有两个分支。非叶子节点的特征取值为True和False,左分支取值为True,右分支取值为False,因此CART算法生成的决策树是结构简洁的二叉树。CART可以处理连续型变量和离散型变量,利用训练数据递归的划分特征空间进行建树,用验证数据进行剪枝。
如果待预测分类是离散型数据,则CART生成分类决策树。
如果待预测分类是连续性数据,则CART生成回归决策树。
算法原理
1.刚开始有一群样本,第一个节点这时候T=1,w多少呢,不知道,是求出来的,这时候所有样本的预测值都是w(决策树的节点表示类别,回归树的节点表示预测值)。如果这里的l(w−yi)误差表示用的是平方误差,那么此函数就是一个关于w的二次函数,求函数最小值的点就是这个节点的预测值。(通过泰勒展开求最小损失函数)
2.枚举每一个特征的损失,取loss最小值的feature作为分裂点,求出w1;然后进行下一个特征枚举,求出w2…(重复循环m步;其中yi就是y,即所有待分样本都要进行loss计算)
3…可以求出所有的w,有人会问什么时候停止计算呢?这个和设置参数有关,比如最大迭代次数,树的深度等等。这个知识点相对也比较多,后续讲优化详细说一下。
损失函数
xgboost是在GBDT的基础上对boosting算法进行的改进,内部