XG Boost and Light GBD
对decision tree做boosting
Last updated
对decision tree做boosting
Last updated
Kernels: kernel trick, 在svm、knn、linear regression中都可以用到。空间映射。
混合feature:NN、SVM、KNN对于“数值和categorical mixed”的情况不太行,需要转化,但是Decision Tree不会因此受到影响。
缺失值:NN和SVM受missing value影响比较敏感,尤其SVM,如果missing是在kernel附近的。但如果k选的足够好,就对missing value不敏感。
计算复杂度:NN、SVM、KNN的计算复杂度都很大,而tree都是和数据点的个数有关的。
线性关系:NN和SVM都能捕捉到feature中的线性关系,因为本质是做线性变换。而tree考察的是不同属性,不知道不同属性之间的联系。
可解释性:tree model还有一个feature importance,但是其他model没有什么可解释性。
从表的比较来看,tree除了某些点之外,其他都还不错~
eXtreme Gradient Boosting 其实也是对上一节的Gradient Boosting的一种实现。但是因为Gradient Boosting每一步对所有数据求梯度、每次构建一个新的tree加入原模型序列,比较慢;XG Boost因为这几个原因相比之下会更快:
Parallelization: 训练时可以用所有的 CPU 内核来并行化建树。
Distributed Computing : 用分布式计算来训练非常大的模型。
Out-of-Core Computing: 对于非常大的数据集还可以进行 Out-of-Core Computing。
Cache Optimization of data structures and algorithms: 更好地利用硬件。