您的位置:首页 > 运维架构 > Linux

微软开源分布式高性能GB框架LightGBM Ubuntu、CentOS下编译安装过程

2017-04-14 21:12 330 查看
LightGBM(Light Gradient Boosting Machine)是一个基于决策树算法的快速的、分布式的、高性能 gradient boosting(GBDT、GBRT、GBM 或 MART)框架,可被用于排行、分类以及其他许多机器学习任务中。

开源项目地址: https://github.com/Microsoft/LightGBM

开源 LightGBM:三天内收获GitHub 1000+ Star,表现超越已有boosting工具。

LightGBM

LightGBM 是一个梯度 boosting 框架,使用基于学习算法的决策树。它可以说是分布式的,高效的,它有以下优势:

更快的训练效率

低内存使用

更好的准确率

支持并行学习

可处理大规模数据

环境描述

VMware 虚拟机

操作系统:Ubuntu 14.04.4 LTS、CentOS 7.2.1511 (Core)

处理器:1核

内存:1 GB

编译过程

lightgbm 依赖 OpenMP 进行编译,苹果的 Clang 不支持。

请使用 GCC / G++ 代替。

参考官方给出的安装指南

git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
mkdir build ; cd build
cmake ..
make -j


如果你还没有安装 cmake,执行以下命令安装:

sudo apt-get install cmake


CentOS 下把 apt-get 换成 yum 就可以了。

如果你还没有安装 g++,执行以下命令安装:

sudo apt-get install g++


克隆,创建构建目录没什么好说的,但执行

camke ..


却会出错,需要执行以下命令:

cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc ..


MacOS下参数后面需要指定版本号:

cmake -DCMAKE_CXX_COMPILER=g++-6 -DCMAKE_C_COMPILER=gcc-6 ..


但是Ubuntu下不需要,CentOS 下也是如此。



执行到 96% 的时候会卡一会儿,如果不希望执行“make -j”命令时对电脑影响太大的话,执行“make -j1”,使用CPU的一核,不会占满CPU。

注意:由于实体机CPU不是一核,但虚拟机选择了一核,所以执行“make -j”时会在96% 的时候卡死,需要执行“make -j1”才可以。

构建成功后会在上层目录生成两个文件,lib_lightgbm.so lightgbm,一个库文件,一个可执行文件。



相关下载:

lib_lightgbm.so 库文件和可执行文件 lightgbm for Ubuntu

lib_lightgbm.so 库文件和可执行文件 lightgbm for CentOS

相关阅读:

微软开源分布式高性能GB框架LightGBM安装使用

微软开源分布式高性能GB框架LightGBM安装使用——Python

====================文档信息=======================

版权声明:非商用自由转载-保持署名-注明出处

署名(BY) :testcs_dn(微wx笑)

文章出处:无知人生,记录点滴

==============欢迎关注我的个人微信订阅号(微wx笑)==========



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: