【问题标题】:Installing lightgbm in R在 R 中安装 lightgbm
【发布时间】:2020-11-30 07:53:37
【问题描述】:

我尝试了不同的方法来安装lightgbm 包,但我无法完成。我在github repository 尝试了所有方法,但它们不起作用。 我运行 Windows 10 和 R 3.5(64 位)。有类似问题的someone。所以我尝试了他的解决方案:

    1. 安装 cmake (64bit)
    1. 安装 Visual Studio (2017)
    1. 安装 Rtools(64 位)
    1. 将系统变量中的路径更改为“C:\Program 文件\CMake\bin\cmake;"
    1. 使用预编译的 dll/lib 安装 lightgbm

-->

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

 *** arch - i386
installing via 'install.libs.R' to C:/Users/X1/Documents/R/win- 
library/3.5/lightgbm
Error in eval(ei, envir) : Cannot find lib_lightgbm.dll
* removing 'C:/Users/XXX/Documents/R/win-library/3.5/lightgbm'
In R CMD INSTALL
installation of package 
�C:/Users/XXX/AppData/Local/Temp/RtmpczNLaN/LightGBM/R-package� had non- 
zero exit status[1] FALSE

知道如何解决这个问题吗?

【问题讨论】:

    标签: r github package


    【解决方案1】:

    对我有用,希望对你有帮助。

    1. 确保安装所有必需软件

    2. https://github.com/Microsoft/LightGBM/releases下载预编译的.dll文件 并将其放入 .\LightGBM\

    3. 在 install.libs.R 中,设置 use_precompile

    4. 将 CMakeLists.txt 从根目录复制到 .\LightGBM\R-package\inst\bin

    5. 在 R 控制台类型中: install.packages(file.path("C:\yourdirectory\", "LightGBM", "R-package"), repos = NULL, type = "source")

    【讨论】:

      【解决方案2】:

      对于一些苦苦挣扎的灵魂,如果上述修复不起作用。我必须做的是:

      • 确保您的路径环境变量中有以下内容:

        • Rtools(指向rtools安装目录下的bin文件夹)

        • Rtools mingw_64(指向 rtools 安装中的 mingw_64 文件夹 目录)

        • Base R(指向您的基本 R 安装目录中的 bin 文件夹, 即在哪里安装 R 版本)

        • CMake(指向你的cmake安装目录中的bin文件夹)

        • Visual Studio(允许您使用 VS 构建工具进行构建,否则将退回到 RTools 或任何可用的 MinGW64,如 github 页面所述)

        • Git

      • 在安装 LightGBM 之前,在 R 中安装以下包 本身:

        • data.tools

        • magrittr

        • R6

        • jsonlite

      • 完成上述所有操作后,使用 git 安装运行 github页面上的说明here

        对于那些无法访问链接(或者如果它应该移动)的人, 命令如下:

        git clone --recursive https://github.com/microsoft/LightGBM
        
        cd LightGBM
        
        Rscript build_r.R
        

      【讨论】:

        【解决方案3】:

        经过“百万​​”次尝试后,我设法安装了它。我必须确保只安装了一个 R 版本 - 64 位,并且所有其他步骤都使用预期的环境变量集完成。

        【讨论】:

          【解决方案4】:

          所以你想在 R 中运行 LightGBM,但你不是软件工程师……那么,你可以使用 R 和 Python(因为安装 R 包很痛苦)。

          首先,在您的 R 控制台或 R Markdown 中编写:

          library(reticulate)
          library(knitr)
          knitr::knit_engines$set(python3 = reticulate::eng_python)
          

          其次,在你的 R 控制台或 R Markdown 中写下这个:

          Sys.which("python3")
          os = import("os")
          os$listdir(".")
          

          第三,打开记事本,将其保存为“script.py”,编写函数代码并调用相应的库。像这样的:

          import pandas as pd
          import lightgbm as lgb
          
          def python_to_r_lgbm(X_train, y_train, X_test):
              lgb_train = lgb.Dataset(X_train, y_train)
          
              params = {'bagging_fraction': 0.75, 
                        'boosting_type': 'gbdt', 
                        'drop_rate': 0.15, 
                        'feature_fraction': 1, 
                        'lambda_l1': 2.95, 
                        'lambda_l2': 2.35, 
                        'learning_rate': 0.01, 
                        'max_depth': 3, 'max_leaves': 19, 
                        'min_data_in_leaf': 8, 
                        'objective': 'regression', 
                        'metrics': ['l1', 'l2', 'huber'], 
                        'verbose': -1}
          
              gbm = lgb.train(params, lgb_train, 1800)
          
              light_gbm_test = gbm.predict(X_test)
          
              return light_gbm_test
          

          然后,在您的 R 控制台或 R Markdown 中运行它:

          source_python('script.py')
          

          最后,在你的 R 控制台(或 R Markdown)中调用你的新函数:

          python_to_r_lgbm(xTrain_df, y_train, xTest_df)
          

          此函数将使用 xTrain_df 和 y_train 训练您的模型,并使用 xTest_df 为您提供预测。

          *确保所有文件都在同一个文件夹中。另外,请确保安装了 Python3(显然)和 lightgbm 库(https://anaconda.org/conda-forge/lightgbm)。

          除了笑话,我希望这对你有帮助。我也希望不要被愤怒的暴徒私刑,因为我没有直接回答这个问题:D

          来源:https://rviews.rstudio.com/2019/03/18/the-reticulate-package-solves-the-hardest-problem-in-data-science-people/ 虽然我做了一些修改。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-04-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-06-24
            • 2018-04-16
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多