C# 如何在.NET Framework 4.6.1应用程序中预测/评分XGBoost或LightGBM
我有一个机器学习问题,我使用C# 如何在.NET Framework 4.6.1应用程序中预测/评分XGBoost或LightGBM,c#,xgboost,lightgbm,ml.net,onnx,C#,Xgboost,Lightgbm,Ml.net,Onnx,我有一个机器学习问题,我使用LightGBM和XGBoost在训练/测试数据上都获得了很好的结果。下一步是将这些模型中的一个模型的预测结果输入到现有的C#应用程序(.NET Framework 4.6.1)是否有任何库可以帮助我这样做?到目前为止,我所尝试的: :应适用于LigthGBM,但由于它仅适用于.NET Core :这应该能够预测ONNX模型,我设法从我的XGBoost模型创建了一个ONNX模型。但Windows.ML似乎只适用于UWP应用程序,至少所有示例都是UWP :此库具有指向
LightGBM
和XGBoost
在训练/测试数据上都获得了很好的结果。下一步是将这些模型中的一个模型的预测结果输入到现有的C#应用程序(.NET Framework 4.6.1)是否有任何库可以帮助我这样做?到目前为止,我所尝试的:
- :应适用于
,但由于它仅适用于.NET CoreLigthGBM
- :这应该能够预测ONNX模型,我设法从我的
模型创建了一个ONNX模型。但Windows.ML似乎只适用于UWP应用程序,至少所有示例都是UWPXGBoost
- :此库具有指向
的接口。不幸的是,它不支持我所依赖的样本权重XGBoost
- CNTK:尝试加载ONNX文件(类似于),但get:错误:CNTK中不支持ONNX(TreeEnsembleClassifier)
有什么建议吗,或者我必须等待ML.NET来修复这个错误吗?我能够在
net461
控制台应用程序中使用LightGBM。只有在使用packages.config
管理NuGet软件包时,才会出现上述错误。为了解决LightGBM nuget包中列出的bug,您可以采取以下方法之一:
net461
Exe
net461
win-x64
总是
我能够在net461
控制台应用程序中使用LightGBM。只有在使用packages.config
管理NuGet软件包时,才会出现上述错误。为了解决LightGBM nuget包中列出的bug,您可以采取以下方法之一:
net461
Exe
net461
win-x64
总是
由于您有一个ONNX模型,您可以使用C#中的CNTK来阅读和预测它。我承认,做这件事并不是件小事。本文档可能会有所帮助-谢谢你的建议@Jon。我在我的ONNX文件中尝试了这一点,当尝试加载文件时,我得到:错误:CNTK不支持ONNX(TreeEnsembleClassifier)。现在,我已经在上面的“我迄今为止所做的尝试”中添加了这一点,因为您有一个ONNX模型,您可以使用C#中的CNTK来阅读和预测它。我承认,做这件事并不是件小事。本文档可能会有所帮助-谢谢你的建议@Jon。我在我的ONNX文件中尝试了这一点,当尝试加载文件时,我得到:错误:CNTK不支持ONNX(TreeEnsembleClassifier)。现在,我已将此添加到上面的“到目前为止我已经尝试过的内容”中