데이터분석/R

R에서 lightgbm 설치하기

psystat 2019. 6. 3. 00:28

kaggle 대회에서 요즘 가장 인기있는 알고리즘은 lightgbm인 것 같습니다.

학습속도도 빠르고(개인저인 경험에 의하면 xgboost 보다 빠릅니다) 성능도 좋기 때문이죠.

kaggle 대회에서는 kernel을 사용하면 별도의 설치과정 없이 lightgbm 패키지를 이용할 수 있지만 다른 공모전이나 분석을 하려면 결국 로컬에 설치해야합니다.

기본 설치법은 lightgbm 깃허브를 참고하면 됩니다.

https://github.com/Microsoft/LightGBM/tree/master/R-package

 

microsoft/LightGBM

A fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks...

github.com

아래 블로그의 설치법을 따라하였는데 중간에 터미널로 설치하는 코드는 작동하지 않아서 그 부분은 제외하고 작성하였습니다.

https://bluediary8.tistory.com/25

 

LightGBM 설치하기

이틀동안 삽질 끝에 lightgbm 설치성공.. kaggle과 같은 데이터분석 대회에서 항상 높은 순위를 기록하는 Gradient Boosting. 그 중에서도 Xgboost와 LightGBM이 자주 쓰이는데 Xgboost는 그냥 install.packages("..

bluediary8.tistory.com

(1) CMake 설치

https://cmake.org/download/

 

Download | CMake

Current development distribution Each night binaries are created as part of the testing process. Other than passing all of the tests in CMake, this version of CMake should not be expected to work in a production environment. It is being produced so that us

cmake.org

* CMake는 64비트 R과 Rtools만 지원합니다.

It requires to add to PATH the Rtools MinGW64 folder, if it was not done automatically during installation.

설치 중에 PATH 추가를 해주어야 합니다.

이제 R 콘솔 옆에 있는 Terminal 창에 설치 코드를 입력합니다.

git clone --recursive https://github.com/microsoft/LightGBM

 

그런 다음 C:\LightGBM\R-package\src에 들어가서 

install.libs 파일을 연 다음

# User options
use_precompile <- FALSE
use_gpu <- FALSE
use_mingw <- FALSE

라고 되있는 부분에서

use_mingw <- TRUE

로 바꿔줍니다.

GPU를 쓰려면

use_gpu <- TRUE

로 바꿔주면 됩니다.

마지막으로 패키지는 아래 코드로 설치해줍니다.

다른 여러가지 방법들을 시도해보았는데 이 방법만 제대로 작동했습니다.

devtools::install_github("Laurae2/lgbdl", force = TRUE)
library(lgbdl)
lgb.dl(commit = "master",
       compiler = "vs",
       repo = "https://github.com/Microsoft/LightGBM")

설치가 제대로 되어 있는지 확인하려면 아래 코드를 실행해보면 됩니다.

library(lightgbm)
data(agaricus.train, package = "lightgbm")
train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label)
params <- list(objective = "regression", metric = "l2")
model <- lgb.cv(params,
                dtrain,
                10,
                nfold = 5,
                min_data = 1,
                learning_rate = 1,
                early_stopping_rounds = 10)

이 방법으로도 설치가 안된다면 lightgbm 깃허브의 Issues를 참고하는 것이 좋습니다.

https://github.com/Microsoft/LightGBM/issues/912

 

I've tried everything I can to install LightGBM for R and I'm having no luck · Issue #912 · microsoft/LightGBM

What Im Working With: I installed Rtools 64 bit, Microsoft VS 2015 and 2017, I'm running R 3.4.1 and up to date Rstudio. My computer is Windows 7. I got lightgbm to work on my older computer by...

github.com