专栏首页尾尾部落mac OS 安装XGBoost

mac OS 安装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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • macOS + Sublime Text + Latex 环境配置 macOS + Sublime Text + Latex 环境配置

    所以很多高校的老师都要求学生用Latex来写论文。那么问题来了,latex要在哪里写?有像word一样的编辑器吗?答案是肯定的。市面上的latex编辑器不下20...

    尾尾部落
  • [LeetCode]Longest Continuous Increasing Subsequence 最长连续增长序列 [LeetCode]Longest Continuous Incr

    链接:https://leetcode.com/problems/longest-continuous-increasing-subsequence/descr...

    尾尾部落
  • [剑指offer] 机器人的运动范围

    地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。...

    尾尾部落
  • c语言内嵌汇编代码之constraint modifier中 = 和 + 的区别

    在阅读本文之前,请先阅读gcc的相关文档,确保对如何在c中使用汇编语言有个基本的认识。

    wangyuntao
  • 实用贴:hadoop系统下载安装教程

    在前几篇的文章中分别就虚拟系统安装、LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤。

    用户3392176
  • 业界 | 23篇论文入选CVPR2017, 商汤科技精选论文解读

    机器之心报道 机器之心编辑部 
2017 年 7 月 11 日,专注于计算机视觉和深度学习的国内人工智能企业商汤科技完成 4.1 亿美元融资的消息引爆业内。本次...

    机器之心
  • 【趣学程序】Linux虚拟机安装

    通过阅读本文,你将了解到如何在windows上安装CentOS虚拟机。软件分享:VMWare软件及许可证:VMWare下载

    趣学程序-shaofeer
  • 将区块链与AI结合,美图的野心是做现实和数字生活的统一ID

    2018年,区块链接棒AI成为最热门的技术名词,已有越来越多的科技公司宣布进军区块链市场,互联网公司中,迅雷、人人、快播、暴风、天涯、360、京东、美图、网易等...

    罗超频道
  • 段永朝:天性,互联网的灵性回归

    image.png 演讲摘要 段永朝:天性,互联网的灵性回归 我今天要讲一个故事,故事的主角大家都很熟悉。他就是牛顿。力学三定律、微积分、七色光,都是...

    腾讯研究院
  • 看完这些,你就成了区块链大牛!

    近些日子笔者阅读了一些关于区块链技术原理的书籍,在这里有几个问题需要澄清一下,也许这些问题你也困惑过,在此我们一起看一看借着这个机会豁然开朗。 ? 1.目前获取...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券