【发布时间】:2019-01-05 20:00:15
【问题描述】:
我有一个机器学习问题,我使用LightGBM 和XGBoost 在训练/测试数据上获得了非常好的结果。下一步是从其中一个模型中获取预测到现有 C# 应用程序 (.NET Framework 4.6.1) 是否有任何库可以帮助我做到这一点?到目前为止我尝试过的:
-
ML.NET:应该适用于
LigthGBM,但由于this bug,它仅适用于.NET Core。 -
Windows.ML:这应该能够预测 ONNX 模型,我设法从我的
XGBoost模型创建了一个 ONNX 模型。但 Windows.ML 似乎只适用于 UWP 应用,至少所有示例都是 UWP。 -
SharpLearning:这个库有一个到
XGBoost的接口。不幸的是,它不支持我所依赖的样本权重。 - CNTK:尝试加载 ONNX 文件(类似于 this example),但得到:错误:CNTK 不支持 ONNX (TreeEnsembleClassifier)。
有什么建议,还是我必须等待 ML.NET 修复错误?
【问题讨论】:
-
既然你有一个 ONNX 模型,你可以在 C# 中使用 CNTK 来读取和预测它。我承认,尽管这样做并不是很简单。这个文档可能会有所帮助 - docs.microsoft.com/en-us/cognitive-toolkit/…
-
感谢您的建议@Jon。我对我的 ONNX 文件进行了尝试,当尝试加载文件时,我得到:错误:CNTK 不支持 ONNX(TreeEnsembleClassifier)。现在已将此添加到上面的“我到目前为止尝试过的内容”中
标签: c# xgboost lightgbm ml.net onnx