Xgboost是在GBDT上进行改进的模型,其主要的特点是做了下面的工作,对了树每次做分裂候选时,是使用的Gain增益,而不是普通的gini指数或者均方差,是一种优化过的误差计算.....:
(1)将树模型的复杂度加入到正则项中,参与到损失函数,来避免过拟合问题。 (叶子打分就是预测值,分类问题是给的概率)
(2)对损失函数进行了优化,优化成了二阶泰勒展开形式,同时使用了一阶导和二阶导,加速了优化速度。【这里只是损失函数优化,使用的损失函数还是自己定的,logloss等损失吧】
(3)相比于GBDT只支持Cart作为基分类器的方式,Xgboost还支持线性分类器,在使用线性分类器时候可以使用L1正则化和L2正则化。【看到objective参数下可选 线性回归、逻辑回归等选项】
(4)引入了特征子采样【就是采样一部分特征作为每棵树的构建】,类似于RF那样,这样可以降低过拟合。
(5)在寻找最佳分割点时,使用了一种预排序的机制,特征列排序后以块状存储