前提① :已经安装了 anaconda3 ,终端中默认使用的也是 anaconda 的 python3 ( mac 系统自带了 python2)
前提② :已经安装了 HomeBrew 并配置好了清华镜像源
一、Mac 安装 XGBoost
pip3 install xgboost
测试是否安装成功,终端输入:
python3
import xgboost as xgb
二、Mac 安装 LightGBM
pip3 install lightgbm
测试是否安装成功,终端输入:
python3
import lightgbm as lgb
.
XGBoost是一种基于决策树(CART)的分布式的高效的梯度提升算法,它可被应用到分类、回归、排序等任务中,与一般的GBDT算法相比,XGBoost主要有以下几个优点:
- 对叶节点的权重进行了惩罚,相当于添加了正则项,防止过拟合
- XGBoost的目标函数优化利用了损失函数关于待求函数的二阶导数,而GBDT只利用了一阶信息
- XGBoost支持列采样,类似于随机森林,构建每棵树时对属性进行采样,训练速度快,效果好
- 类似于学习率,学习到一棵树后,对其权重进行缩减,从而降低该棵树的作用,提升可学习空间
- 构建树的算法包括精确的算法和近似的算法,近似的算法对每维特征加权分位进行分桶,具体的算法利用到了损失函数关于待求树的二阶导数
- 添加了对于稀疏数据的支持,当数据的某个特征缺失时,将该数据划分到默认的子节点,本文提出了一个算法来求解这个默认方向
- 可并行的近似直方图算法,分裂节点时,数据在block中按列存放,而且已经经过了预排序,因此可以并行计算,即同时对各个属性遍历最优分裂点