XGBoost快速入门

XGboost作为Kaggle比赛的大杀器,是很牛逼的一个boost实现。能极大提高模
型的预测的准确率,因此使用率极高。我也花了一天简单的接触了下:

  • Ensemble原理简述
  • XGboost安装
  • XGboost案例测试

Ensemble原理简述

模型融合(Ensemble)有三种:Bagging,Stacking,Boosting

Bagging

  • 单个算法角度:不用全部的训练集,每次只取其的一个子集训练模型

  • 多个算法角度:分类情况下对模型结果做投票 ,回归情况下对模型结果做平均

  • 关于随机森林:随机森林是Bagging算法的进化版,也就是说,它的思想仍然是bagging,但是进行了独有的改进。

Stacking

  • 用上一层多个基模型的预测结果作为特征喂给下一层的模型训练
  • 关于Blanding:Blanding是弱化的Stacking方式,只是把上层到下层的喂的方式取简单的线性方式

Boosting

  • 每次分配给分错样本更高的权重
  • 最简单的分类器的叠加
  • 关于XGBsoost:想进一步了解XGBoost原理可以翻阅陈天奇大佬的 —— [ ppt]

XGboost安装

安装参考的是—— [链接]

安装环境是Mbp

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安装最新版本的gcc (gcc-7)
brew install gcc
  • 从Git上下载XGBoost源码
git clone --recursive https://github.com/dmlc/xgboost 
  • 修改对应的gcc和g++版本(去前一步下载好的XGBoost目录下执行)
cp make/config.mk ./config.mk
vi config.mk
  • 去掉注释并稍作修改
export CC=/usr/local/bin/gcc-7
export CXX=/usr/local/bin/g++-7
  • 编译XGBoost
make -j4
  • 如果是利用Python调用,那么还需要
cd python-package; sudo python3 setup.py install

XGboost案例测试

  • 数据源来自出版书籍《An Introduction to Statistical Learning with Applications in R》的简单线性回归案例
    数据源浏览

    可用迅雷下载—— [ 数据源]

  • 上代码(jupiter notebook)

    https://pan.baidu.com/s/1dEObjlZ

  • 使用前后比较
    ridge回归预测情况
    使用XGBoost后

猜你喜欢

转载自blog.csdn.net/u010030977/article/details/77373441