mac OS 安装XGBoost(完美解决方案)

简介: XGBoost是一种基于决策树(CART)的分布式的高效的梯度提升算法,它可被应用到分类、回归、排序等任务中,与一般的GBDT算法相比,XGBoost主要有以下几个优点:对叶节点的权重进行了惩罚,相当于添加了正则项,防止过拟合XGBoost的目标...

XGBoost是一种基于决策树(CART)的分布式的高效的梯度提升算法,它可被应用到分类、回归、排序等任务中,与一般的GBDT算法相比,XGBoost主要有以下几个优点:

  • 对叶节点的权重进行了惩罚,相当于添加了正则项,防止过拟合
  • XGBoost的目标函数优化利用了损失函数关于待求函数的二阶导数,而GBDT只利用了一阶信息
  • XGBoost支持列采样,类似于随机森林,构建每棵树时对属性进行采样,训练速度快,效果好
  • 类似于学习率,学习到一棵树后,对其权重进行缩减,从而降低该棵树的作用,提升可学习空间
  • 构建树的算法包括精确的算法和近似的算法,近似的算法对每维特征加权分位进行分桶,具体的算法利用到了损失函数关于待求树的二阶导数。
  • 添加了对于稀疏数据的支持,当数据的某个特征缺失时,将该数据划分到默认的子节点,本文提出了一个算法来求解这个默认方向。
  • 可并行的近似直方图算法,分裂节点时,数据在block中按列存放,而且已经经过了预排序,因此可以并行计算,即同时对各个属性遍历最优分裂点

那么如何在mac下安装xgboost呢

系统版本

macOS Sierra 版本 10.12.3

有两种方法:

1. pip安装

  • 第一步:安装HomeBrew

HomeBrew是mac系统的包管理软件,类似于ubuntu的apt-get或者centos的yum,安装方法如下,在终端中输入:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 第二步:安装livm
brew install llvm

llvm是Mac下的一个编译器,可以用来编译C和C++程序.最新的llvm已经包含了OpenMP.
注意, Mac下的XCode带有clang编译器, 但是是不支持OpenMP的,所以不能用来编译XGBoost.

  • 第三步:安装clang-omp
brew install clang-omp

有人提到clang-omp已经从HomeBrew移除了, 如果找不到clang-omp可以尝试brew install --with-clang llvm

  • 第四步, 用pip安装XGBoost
pip install xgboost

大功告成!

2. 从Github库下载最新版XGBoost安装

  • 第一步:克隆最新的XGBoost到本地
git clone --recursive https://github.com/dmlc/xgboost
  • 第二步:安装gcc
brew install gcc5 --without-multilib
  • 第三步:修改XGBoost的config文件
cd xgboost
cp make/config.mk ./config.mk

很多攻略都是直接将以下这两行

# export CC = gcc
# export CXX = g++

改为:

export CC = gcc-5
export CXX = g++-5

但是我直接这样做却一直报错,无法编译通过。搞了半天才发现系统找不到gcc,原来是macOS已经不自带gcc环境了,通过Homebrew安装系统也识别不到。
正常情况下是可以通过port来查看系统里安装的gcc的:

安装gcc_select
/opt/local/bin/port install gcc_select
查看gcc列表
port select --list gcc
还可以选择gcc的版本
sudo port select --set gcc mp-gcc5

但是很不幸,我执行port select --list gcc得到的结果是

Available versions for gcc:
none (active)

但是明明Homebrew安装成功了啊,于是到Homebrew的安装目录下瞧一瞧:cd /usr/local/bin,发现里面静静躺着gcc5,gcc7,系统就是无法识别这里的gcc。。。搜了半天没找到解决方案,最后,机智的我直接把config.mk修改成:

export CC = /usr/local/bin/gcc-5
export CXX = /usr/local/bin/g++-5
export MPICXX = /usr/local/bin/mpicxx

就是带上具体的路径,然后保存

  • 第四步:开始编译
make clean_all && make -j4
  • 第五步:安装python包
cd python-package
python setup.py install

至些XGBoost终于安装成功!
在python环境中测试一下:

import xgboost
xgboost.__version__

输出'0.6'

参考

Mac OSX 下安装XGBoost

目录
相关文章
|
4月前
|
关系型数据库 MySQL 数据库
【Mac os系统】安装MySQL数据库
本文详细介绍了在Mac OS系统上安装MySQL数据库的步骤,包括下载、安装、配置环境变量、启动服务、授权设置以及解决常见问题,并提供了一些常用的MySQL命令。
273 0
【Mac os系统】安装MySQL数据库
|
4月前
|
IDE 开发工具 计算机视觉
关于opencv在PyCharm中没有提示的解决方案mac和win通用(不是改文件和复制)
关于opencv在PyCharm中没有提示的解决方案mac和win通用(不是改文件和复制)
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
59 4
|
2月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
207 0
Mac os 安装 nginx 教程(success)
|
3月前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
423 3
Windows操作系统部署安装Kerberos客户端
|
3月前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
120 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
2月前
|
Linux C语言 iOS开发
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
45 0
|
4月前
|
编解码 Linux 虚拟化
超详细VMware虚拟机安装Win10操作系统过程图解
这篇文章提供了一个详细的VMware虚拟机安装Windows 10操作系统的图解教程,包括了从创建虚拟机到安装操作系统的全过程,以及安装后的一些基本设置,如屏幕分辨率调整等。作者还提到了后续会分享关于磁盘分区的创建过程。
超详细VMware虚拟机安装Win10操作系统过程图解
|
4月前
|
消息中间件 算法 安全
操作系统处理多进程的问题及解决方案
【8月更文挑战第23天】
309 1
|
4月前
|
Ubuntu 安全 iOS开发
Kylin操作系统安装及使用指南
Kylin操作系统安装及使用指南