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

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

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笑)==========
这里写图片描述

目录
相关文章
|
1月前
|
应用服务中间件 Linux 网络安全
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
17 0
|
4月前
|
数据可视化 Linux 网络安全
CentOS7.9下离线安装OctoMation编排自动化SOAR开源社区免费版
CentOS7.9下离线安装OctoMation编排自动化SOAR开源社区免费版
79 0
|
4月前
|
安全 算法 Linux
CentOS7下部署长亭科技雷池Web应用防火墙(WAF)开源社区版
CentOS7下部署长亭科技雷池Web应用防火墙(WAF)开源社区版
481 0
|
2月前
|
Linux 开发工具 C语言
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
179 3
|
3月前
|
缓存 负载均衡 应用服务中间件
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
72 1
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
|
4月前
|
关系型数据库 MySQL Linux
centos7 编译报错 cannot find -lmysqlclient
centos7 编译报错 cannot find -lmysqlclient
|
1月前
|
监控 关系型数据库 MySQL
centos7 zabbix-service 源码编译 安装部署服务端 和 常见安装错误
centos7 zabbix-service 源码编译 安装部署服务端 和 常见安装错误
21 0
|
3月前
|
关系型数据库 MySQL Linux
Azkaban【部署 02】CentOS release 7.5安装配置azkaban-3.70.0安装阶段(含已编译的10个安装文件:可直接进行安装)
【2月更文挑战第5天】CentOS release 7.5安装配置azkaban-3.70.0安装阶段(含已编译的10个安装文件:可直接进行安装)
49 7
|
3月前
|
NoSQL Linux Redis
基于centos7.7编译Redis6.0
基于centos7.7 源码编译redis-6.0.6记录
182 2
|
3月前
|
Java Linux 开发工具
Azkaban【部署 01】Linux环境 CentOS Linux release 7.5.1804安装配置azkaban-3.70.0编译阶段(附安装包及gradle-4.6资源)
【2月更文挑战第4天】Linux环境 CentOS Linux release 7.5.1804安装配置azkaban-3.70.0编译阶段(附安装包及gradle-4.6资源)
36 1