【问题标题】:Convert Random Forest from Julia to R将随机森林从 Julia 转换为 R
【发布时间】:2021-08-27 10:23:50
【问题描述】:

我目前正在学习随机森林 (RF),其中包含 500 000 个示例和 6 个特征的数据集。但是,在 R 中需要几个小时。因此,我的想法是使用另一种语言来学习 RF。我在想朱莉娅。但是,我发现 R 更便于预测和所有事后分析。那么,我的问题就很简单了:

有没有办法将 RF 从 Julia 格式转换为 R?

【问题讨论】:

  • Jupyter notebook 中的“ju”来自 Julia,末尾的 er 指的是 R。我怀疑您可以在 Jupyter 笔记本上进行整个分析?还有一个选项可以在Rmarkdown
  • 嗬,这将是一个聪明的举动。问题是,对我来说,你需要为你的脚本设置内核,所以当你在 Jupyter 中使用 Julia 时,你实际上是在使用 Julia 并且不能跨语言
  • 我分享的博客文章声称可以同时启动 Julia 和 Python……我认为也可以使用 R。如果没有,那么 Rmarkdown 选项应该可以工作。
  • 我是 Julia 用户(前 R 用户),但我不得不承认 ranger R 包至少与 DecisionTree.jl 一样快(并且可能快于),并且是内存效率也更高。
  • @Cameron 您链接的 R 包主要是 C++ ...... Julia 的好处是包几乎都是用 Julia 本身编写的,所以更容易弄脏你的手......

标签: r julia random-forest converters


【解决方案1】:

我从使用JuliaConnectoR 包开始,它非常棒且高效。我从使用 randomForest 包的 1 个多小时的学习时间缩短到使用 JuliaConnectoR 的 3 或 6 秒

然后,我按照@Cameron 的建议使用了ranger 包。性能也不错(~ 9 秒)。

【讨论】:

    【解决方案2】:

    在 Julia 中,您可以使用 RCall 为 post hoc 编写代码,同时在 Julia 中运行 ML 本身,也许吧?您可以创建 Julia 数据框,然后执行“@rput df”将数据框放入 R 空间,并使用“@rget val”取回值。 R 代码行在 Julia 内部运行。

    using Dataframes, RCall, CSV   
    #create Julia dataframe, however you choose
    df = CSV.read("path/to/my/data", header=false) 
    @rput df
    R"""
    lines of R code here to work with df
    """
    @rget myvalues
    

    【讨论】:

    • 好主意!在我这边,我发现了 JuliaConnectoR 包,它的作用相反:直接在 R 中使用 Julia。我不知道哪种解决方案最有效
    猜你喜欢
    • 2019-05-04
    • 1970-01-01
    • 2017-02-20
    • 2021-10-12
    • 2016-06-24
    • 1970-01-01
    • 2015-06-11
    • 2017-10-23
    • 2018-01-18
    相关资源
    最近更新 更多