【发布时间】:2016-03-19 14:12:07
【问题描述】:
我有一个 gbm 对象,我想从 C++ 中使用它。例如,在 C++ 中使用 predict.gbm() 处理新数据。起初,我尝试在 C++ 中翻译 if-else 规则,然后将树输出到文件中。但是,我发现 gbm 结果与它生成的树不匹配。例如,当我只使用第一棵树时,树中的SplitCodePred 值与predict.gbm() 生成的值不匹配。那么有人知道如何根据 gbm 模型手动进行预测吗?
【问题讨论】:
我有一个 gbm 对象,我想从 C++ 中使用它。例如,在 C++ 中使用 predict.gbm() 处理新数据。起初,我尝试在 C++ 中翻译 if-else 规则,然后将树输出到文件中。但是,我发现 gbm 结果与它生成的树不匹配。例如,当我只使用第一棵树时,树中的SplitCodePred 值与predict.gbm() 生成的值不匹配。那么有人知道如何根据 gbm 模型手动进行预测吗?
【问题讨论】:
在 Cross Validated 上查看我对 your question 的回答。
简而言之,您应该能够调用例如gbm_pred 直接来自 C/C++ 源代码。来源可用here。您可以在 R 函数 predict.gbm 中看到 gbm 输出对象如何映射到 gbm_pred 的参数。
【讨论】: