【问题标题】:How to use the model(decision tree) in C/C++ which trained in R?如何在 R 中训练的 C/C++ 中使用模型(决策树)?
【发布时间】:2013-11-19 17:18:12
【问题描述】:

我们有一个 C++ 系统,我的意思是如何将模型集成到我们的系统中?

我用 R 来训练一个决策树模型,打印树是这样的:

     Conditional inference tree with 47 terminal nodes

Response:  label 
Inputs:  term_num, res_num, r0_pv_num, r0_dr, r0_tr, r0_qr, r0_cr, r0_td, r0_hit_tn, r0_hit_tidf, r0_hit_cidf, r0_hit_tnr, r0_tidfr, r0_cidfr, r0_fr, r1_pv_num, r1_dr, r1_tr, r1_qr, r1_cr, r1_td, r1_hit_tn, r1_hit_tidf, r1_hit_cidf, r1_hit_tnr, r1_tidfr, r1_cidfr, r1_fr, r2_pv_num, r2_dr, r2_tr, r2_qr, r2_cr, r2_td, r2_hit_tn, r2_hit_tidf, r2_hit_cidf, r2_hit_tnr, r2_tidfr, r2_cidfr, r2_fr, r3_pv_num, r3_dr, r3_tr, r3_qr, r3_cr, r3_td, r3_hit_tn, r3_hit_tidf, r3_hit_cidf, r3_hit_tnr, r3_tidfr, r3_cidfr, r3_fr 
Number of observations:  9944 

1) r3_fr <= 910; criterion = 1, statistic = 2800.604
  2) r1_tr <= 12; criterion = 1, statistic = 375.037
    3) r3_dr <= 4; criterion = 1, statistic = 107.044
      4) r0_tidfr <= 0.65; criterion = 1, statistic = 52.212
        5) r0_tr <= 0; criterion = 0.999, statistic = 19.047
          6)*  weights = 358 
        5) r0_tr > 0
          7) term_num <= 4; criterion = 0.994, statistic = 14.917
            8) r3_fr <= 496; criterion = 1, statistic = 20.334
              9)*  weights = 149 
            8) r3_fr > 496
              10)*  weights = 140 
          7) term_num > 4
            11)*  weights = 825 
      4) r0_tidfr > 0.65
        12)*  weights = 190 
    3) r3_dr > 4
      13) term_num <= 4; criterion = 1, statistic = 43.327
        14) r3_fr <= 613; criterion = 1, statistic = 37.962
          15)*  weights = 33 
        14) r3_fr > 613
          16)*  weights = 225
etc...

如何将这个模型移植到我的C/C++系统中?(而且打印中没有终端节点)。谢谢!

【问题讨论】:

  • 您的问题现在非常广泛,因此您将得到的唯一答案是同样广泛的答案(请参阅下面的答案)。我们没有关于 R 代码的详细信息,我们没有关于 C++ 代码等的详细信息。要获得更具体的答案,您需要提供更多详细信息。

标签: c++ r decision-tree


【解决方案1】:

您需要采取以下步骤:

  1. 找出您的 C++ 系统的接口是什么,即它需要哪些输入以及以何种形式运行决策树。
  2. 按照步骤 1 中定义的方式与您的 C++ 代码交互。这可以在内存中完成,也可以使用磁盘上的文件。
  3. 运行决策树。

在这种情况下,Rcpp R 包可能是一个有趣的包。它有助于在 R 中运行 C++ 代码。

【讨论】:

  • 哦,我们有一个C++系统,我的意思是如何将模型集成到我们的系统中。
  • 我们没有您的 C++ 系统,所以我们不知道如何将 R 决策树集成到您的 C++ 系统中。一般来说,我已经给出的提示适用。找出 C++ 系统的接口是什么,并以 C++ 代码可以使用的方式转储 R 结果。
  • 非常感谢。但是假设我在 R 中有一个决策树,然后我需要编写一个 C++ 应用程序来测试这个模型,即给出一个输入、读取数据、调用决策树函数并输出预测。我该怎么办?
猜你喜欢
  • 1970-01-01
  • 2020-04-08
  • 2021-05-22
  • 1970-01-01
  • 2019-06-01
  • 2018-07-07
  • 1970-01-01
  • 2012-06-02
  • 1970-01-01
相关资源
最近更新 更多