如何在Mac OSX上安装xgboost
2016-06-17 23:13
232 查看
听说xgboost效果很不错,于是准备学习下,但是发现大多数资料都是在讲如何在windows或linux下安装xgboost,而且照着官方文档也没有正确的安装好多线程的xgboost。最后还是从there找到了方法。
1. Mac OSX系统一般自带python,打开终端输入python即可写python代码,所以python环境已经具备了。
2.安装 Homebrew , 类似于ubuntu中的apt-get和centos中的yum,是OSX里面的一个非常有用软件安装工具。
1. Mac OSX系统一般自带python,打开终端输入python即可写python代码,所以python环境已经具备了。
2.安装 Homebrew , 类似于ubuntu中的apt-get和centos中的yum,是OSX里面的一个非常有用软件安装工具。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"[/code]
直接将上述代码粘贴至终端即可安装。(安装这个软件的目的在于更新gcc版本,因为官方文档中说只有最新的gcc版本才能使xgboost支持多线程)
3.安装最新版本的gcc (gcc-6)brew install gcc --without-multilib
这步比较耗时,用了将近1小时。
4.从git上下载源码
cd进入你想要安装的目录,然后输入下面的代码。(我是直接在打开终端的目录)git clone --recursive https://github.com/dmlc/xgboost
5.最关键的一步,编译xgboost的源码。(为啥不直接发布一个编译好的,因为每台电脑相差太多)
这一步也是官方文档中没有说清楚的一步,官方文档在第4步之后直接就开始编译源码了,但是其实这时gcc只是下载好了,系统并没有使用刚刚下载下来最新的gcc。这时cd /usr/bin rm cc gcc c++ g++ ln -s /usr/local/bin/gcc-6 cc ln -s /usr/local/bin/gcc-6 gcc ln -s /usr/local/bin/c++-6 c++ ln -s /usr/local/bin/g++-6 g++
上述代码大意是,使用最新的gcc-6代替之前的gcc
接着就是正常的编译cd 之前安装xgboost的目录/xgboost cp make/config.mk make -j4
如果没有一直警告gcc不支持多线程,则表示这一步顺利完成.
6. 不出意外,上一步编译的过程会报错,错误是:std::abs(XXX) 不对。
因为编译器变了导致了这个错误。
于是只要将std::abs(XXX) 改成
XXX>=0?XXX:-XXX
也就是用一个问号表达解决这个问题。 好在错误只有两个,都是一样的。所以改下这两处代码就行了。
然后编译,成功!
7.验证是否成功安装。
在python中输入import xgboost as xgb
并按下回车,如果未报错,则说明已经可以在python程序中正确的导入xgboost包了!如下图:
相关文章推荐
- 如何使用GCD
- 修改yum源
- Ubuntu 16.04安装GNOME3 + ARC主题
- 操作系统基础知识2
- 序列化的两种方式
- 剑指offer——矩阵中的路径
- js委托事件-addEventListeners(冒泡方向)
- svn
- 操作系统基础知识
- zabbix server is not running解决办法
- Exchange 2016边缘传输服务器“MSExchange运行状况管理器”无法启动
- iOS 编码(Base64) + 哈希摘要(MD5+SHA)
- 柴俊理金:6、17午夜黄金,宁贵沥青操作策略
- Linux 的数字权限意义
- 工大助手(爬虫——查成绩部分)
- Elasticsearch Mantanence Lessons Learned Today
- 文件查询之三:文件和目录的批量操作
- MyBatis-输出映射
- Json数据解析和生成(C/C++, 使用CJson)
- 计算机网络基础知识2