R에서 lightgbm 설치하기
kaggle 대회에서 요즘 가장 인기있는 알고리즘은 lightgbm인 것 같습니다.
학습속도도 빠르고(개인저인 경험에 의하면 xgboost 보다 빠릅니다) 성능도 좋기 때문이죠.
kaggle 대회에서는 kernel을 사용하면 별도의 설치과정 없이 lightgbm 패키지를 이용할 수 있지만 다른 공모전이나 분석을 하려면 결국 로컬에 설치해야합니다.
기본 설치법은 lightgbm 깃허브를 참고하면 됩니다.
https://github.com/Microsoft/LightGBM/tree/master/R-package
아래 블로그의 설치법을 따라하였는데 중간에 터미널로 설치하는 코드는 작동하지 않아서 그 부분은 제외하고 작성하였습니다.
https://bluediary8.tistory.com/25
(1) CMake 설치
* 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를 참고하는 것이 좋습니다.