gpt4 book ai didi

c# - 在 C++ 中部署 GBM 模型 |让 Predict.gbm 在 R 之外工作

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:22 27 4
gpt4 key购买 nike

有没有办法将 gbm 模型导出到 C++。具体来说,我如何调用 predict.gbm 函数在 R 之外运行以便对新数据集进行评分。

我已将模型导出为 PMML 文件,但我不确定新数据集将如何基于 PMML 进行评分。

我是 R 的新手,花了很多时间试图解决这个问题但无济于事,我将不胜感激任何线索

提前致谢

最佳答案

在这里,PMML 仅在您有可用的基于 C++ 的 PMML 评估引擎时为您提供帮助(或者,您可以使用 C++ 调用基于 Java 的 PMML 评估引擎,例如 JPMML-Evaluator 库)。

您可以将 GBM 模型转换为 C++ 源代码并稍后“本地”运行它。翻译并不困难,因为 GBM 成员决策树可以编码为简单的 if-else 语句。您可以在 JPMML-Converter 中看到它是如何实现的库(class org.jpmml.converter.GBMConverter)并从那里获取它。

PMML 翻译:

Node node = new Node()
.withPredicate($predicate)
.withScore($score);

转换为 C/C++/C#:

if($predicate){
return $score;
}

您可以使用 ProtoBuf 数据格式(由 RProtoBuf 包实现)将 GBM 数据结构从 R 导出到 C++ 转换应用程序。同样,请查看 JPMML-Converter 库是如何做到的。

关于c# - 在 C++ 中部署 GBM 模型 |让 Predict.gbm 在 R 之外工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28752797/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com