如何在C/C++中使用在R中训练的模型(决策树)
How to use the model(decision tree) in C/C++ which trained in R?
我们有一个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++系统中(打印中没有终端节点)。谢谢!
您需要采取以下步骤:
- 了解C++系统的接口是什么,即它需要什么输入,以及以何种形式运行决策树
- 按照步骤1中定义的方式与C++代码接口。这可以在内存中完成,也可以使用磁盘上的文件
- 运行决策树
在这种情况下,Rcpp
R包可能是一个有趣的包。它有助于从R中运行C++代码。
相关文章:
- 为 QML 树视图创建模型
- 写入并加载决策树以归档C
- 在 gnu 无线电中编译树模型时出现 CMake 错误
- Qt自定义树模型显示正确,但有缺陷且速度慢
- 导出决策树
- 如何在C/C++中使用在R中训练的模型(决策树)
- 添加行的 gtkmm 树模型
- OpenCV 决策树参数问题
- 如何在树模型中维护父 QStandardItems 和数据库行 ID 之间的链接
- 在C++中为 AI 制作决策树
- Qt自定义嵌套向量的树模型
- c++决策树存储
- 有限状态机与ID3决策树
- 如何使用QSortFilterProxyModel来过滤只显示子节点及其父节点的树模型
- Qt表模型到树模型
- 决策搜索树中的链接错误2019和1120
- 决策树/树桩与Adaboost
- 正在CUDA上生成决策树
- 实现自定义 gtkmm 树模型
- c++决策树实现问题:用代码思考