如何使用在R中训练的C / C ++中的模型(决策树)?

时间:2013-11-19 09:04:39

标签: c++ r decision-tree

我们有一个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 ++系统中?(并且它在打印中没有终端节点)。谢谢!

1 个答案:

答案 0 :(得分:0)

您需要执行以下步骤:

  1. 找出C ++系统的界面,即它需要什么输入,以及以哪种形式运行决策树。
  2. 以步骤1中定义的方式与C ++代码接口。这可以在内存中完成,也可以使用磁盘上的文件。
  3. 运行决策树。
  4. 在这种情况下,Rcpp R包可能是一个值得关注的有趣包。它有助于在R中运行C ++代码。