Dạo qua các cuộc thi trên Kaggle Competition hiện nay ta có thể thấy một trong những thuật toán đang được sử dụng nhiều nhất và có thể coi là công thức để chiến thắng đó chính là Lightgbm. Tuy nhiên, việc cài đặt package Lightgbm trải qua khá nhiều bước rất phức tạp khác với cách cài đặt bằng install.package thông thường.
Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt Lightgbm trên R
library(testthat)
library(roxygen2)
library(devtools)
.handle_result <- function(res) {
if (!res) {
stop("Copying files failed!")
}
}
unlink(x = "D:/Rlibrary/lightgbm_r", recursive = TRUE)
dir.create("D:/Rlibrary/lightgbm_r")
result <- file.copy(from = "C:/Users/thanhnm3/Desktop/R-package/./",
to = "D:/Rlibrary/lightgbm_r/",
recursive = TRUE,
overwrite = TRUE)
.handle_result(result)
result <- file.copy(from = "C:/Users/thanhnm3/Desktop/include/",
to = file.path("D:/Rlibrary/lightgbm_r", "src/"),
recursive = TRUE,
overwrite = TRUE)
.handle_result(result)
result <- file.copy(from = "C:/Users/thanhnm3/Desktop/src/",
to = file.path("D:/Rlibrary/lightgbm_r", "src/"),
recursive = TRUE,
overwrite = TRUE)
.handle_result(result)
result <- file.copy(from = "C:/Users/thanhnm3/Desktop/CMakeLists.txt",
to = file.path("D:/Rlibrary/lightgbm_r", "inst", "bin/"),
overwrite = TRUE)
.handle_result(result)
devtools::build(pkg = "D:/Rlibrary/lightgbm_r",
args = c("--keep-empty-dirs"))
version <- gsub(
"Version: ",
"",
grep(
"Version: ",
readLines(con = file.path("D:/Rlibrary/lightgbm_r", "DESCRIPTION")),
value = TRUE
)
)
tarball <- file.path("D:/Rlibrary/", sprintf("lightgbm_%s.tar.gz", version))
system(sprintf("R CMD INSTALL %s --no-multiarch", tarball))