微软大杀器 LightGBM 在R中安装及使用注解

注,有任何建议或疑问,请加 QQ: 1595218767 ,共同探讨学习
如R/python代码编程作图等方面需要帮忙,欢迎来店咨询 之恒科技, 挥动热情的小爪爪期待你哦

安装

安装R版本的 lightgbm, 相较于之前的 install.packages('xx') 分分钟完事, 会略显繁琐, 笔者在安装之初也是填了n次坑, 与 巨硬的R包作者 来往了好几次才成功, 故将安装过程笔记放在这里, 以饷后来人

  1. 非GPU版本
  • 1.0 官方安装指导 传送门
  • 1.1 安装前的准备
    安装 gitcmake
    注: lightgbm 不支持 32-bit R/Rtools
  • 1.2.1 windows 平台
    安装 64 位 Rtools 并将 启动路径放置于 环境变量的path中
    也可以直接运行代码 :
    library(devtools)
    options(devtools.install.args = "--no-multiarch") # if you have 64-bit R only, you can skip this
    install_github("Microsoft/LightGBM", subdir = "R-package")
  • 1.2.2 linux 平台
    先安装 Open MPI
    尔后运行以下代码 :
    git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
    mkdir build ; cd build
    cmake -DUSE_MPI=ON ..
    make -j4
    Note: glibc >= 2.14 is required.
  • 1.2.3 osx 平台
    先安装 gcc 和 Open MPI :
    brew install openmpi
    brew install cmake
    brew install gcc --without-multilib
    尔后 :
    git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
    export CXX=g++-7 CC=gcc-7
    mkdir build ; cd build
    cmake -DUSE_MPI=ON ..
    make -j4
  1. GPU版本
    参考资料

应用

1. 回归

train_dt <- df1 %>% filter(label1!=0)
test_dt <- df1 %>% filter(label1==0)
indx1 <- sample(c(0,1),size = nrow(train_dt),replace = TRUE,prob = c(0.8,0.2))  
train1 <- train_dt %>% filter(indx1==0)
valid1 <- train_dt %>% filter(indx1==1)

library(lightgbm)
#lgb.unloader(wipe = TRUE)
dtrain <- lgb.Dataset(data=bia1,
                      label=bia2,
                      is_sparse=FALSE,
                      # colnames/categorical_feather used for specifying categorical feathers
                      colnames = colnames(train1 %>% select(-ids1,-label1)),
                      categorical_feature = c('cateVar1','cateVar2'))
 
dtest <- lgb.Dataset.create.valid(dataset=dtrain,
                                  data=bia3,
                                  label=bia4)
valids <- list(test=dtest)

lgb1 <- lgb.train(params=params,
                  data=dtrain,
                  valids = valids,
                  min_data =1) 

pre.lgb=predict(lgb1,bia7)

参考资料

lightgbm R-package github
lightgbm demos

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容