问题标签 [ml.net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
f# - 在 Visual Studio 代码中构建项目时如何指定目标体系结构?
我是 VS 代码/F# 的新手,我正在尝试构建一个 F# 控制台应用程序(在 Windows 工作站和我的 Linux 计算机上)。
我将 Ionide 扩展与 FAKE 一起安装。
我正在考虑的代码是 Iris 示例(请参阅如何将介绍 ML.Net 演示转换为 F#?),使用 Ionide 并使用 Microsoft.ML 创建一个新的 F# 项目。
我iris.fsproj
的是
运行脚本时(我使用“播放”按钮又名 F#:运行 VS Code/Ionide 提供的脚本)我得到:
C:\Users\MyUser\.nuget\packages\microsoft.ml\0.2.0\build\Microsoft.ML.targets(16,5): error : Microsoft.ML currently supports 'x64' processor architectures. Please ensure your application is targeting 'x64'.
和...一起
Running build failed.
Error:
System.Exception: dotnet build failed
如何使用 Ionide 提供的项目结构定位 x64?
c# - ML.Net 无法从 MVC 项目的存储中加载模型
我一直在玩 ML.Net,并希望将其集成到 ASP.NET MVC 项目中。
我有一个控制台应用程序,负责训练模型,然后将其保存到服务器上的文件夹中,然后 MVC 项目将加载它并使用它来预测结果。
在我的初始测试中,控制台应用程序能够训练模型并将其保存到文件中,然后从该文件加载模型并预测一些结果。
但是,MVC 项目无法加载相同的模型文件,但出现以下异常:
有人经历过吗?奇怪的是,相同的模型会在控制台应用程序中按预期加载,但在 MVC 项目中失败。
控制台应用程序和 mvc 项目都在 .Net Framework 4.6.1(ML.NET 要求的 .Net 标准 2.0)上运行。控制台应用程序面向 x64,而 MVC 项目设置为 AnyCPU,但本地 IIS 服务器在 x64 进程中加载站点。
任何帮助,将不胜感激。
谢谢
编辑 按照评论中的要求,这里有一些代码片段:
编辑 ML.Net 0.3.0 版(来自 Nuget 包)
c# - 二叉树的结构
我正在尝试做的事情:
我想展示一棵树。
我做了什么:
我使用ML.net使用随机 forrest 算法训练决策树模型。
随机 forrest 算法会产生多个回归树,我想显示这些回归树。
当我获取树列表时,我以以下格式获取它们:
ML.net 的包含类是RegressionTree.cs
根据我的理解left_child
and right_child
are LteChild
and GtChild
,所有这些数组都具有不带叶子的最大节点数的长度(因此,如果有 20 个叶子,则长度为 19)。
split_feature
是使用的特征的数据列。
我认为负值是叶子。
我的问题:
不幸的是,我无法像这样构建基于节点的树
因为我不明白数组的值是如何排序的。
更新:
与往常一样,当您向他人寻求帮助时,您自己很快就会得到另一个有希望的想法:
我深入研究了 ML.net 的代码,我想我找到了一个线索(感兴趣的人第 856 行)。
我的猜测是必须有一个变量作为计数器,例如int node
这个计数器开始于0
要获得拆分列,需要获得SplitFeatures[node]
子节点将是LteChild[node]
(LesserThanEqualChild) 和GtChild[node]
(GreaterThan)
等等。
更新2:
我想我做对了
结构化数据:
一旦我编写了解决方案,我会将其发布为答案。
ml.net - Microsoft.ML --version 0.3.0 -- 无法在 10 分钟内开始使用 ML.NET
我已按照(https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet/get-started/windows)中提供的步骤开始使用 ML.NET 10分钟。
但是在运行应用程序时。控制台通过以下运行时错误。
c# - Microsoft.ML 中的“未找到入口点‘Trainers.FastTreeRegressor’”
我正在尝试使用 Microsoft.ML 中的 FastTreeRegressor 构建 ML 模型,将出租车票价预测教程中的代码复制到我预先存在的环境中,在那里我可以交换数据和一些参数。这一切都成功构建,但运行会产生错误:
System.InvalidOperationException:'找不到入口点'Trainers.FastTreeRegressor''
我怎样才能解决这个问题?
旁注:我排除了代码示例,因为教程包含它们,并且提前知道答案(见下文),它们不会增加问题的解决能力。
c# - 机器学习 - 缺少分数列
我正在尝试使用一些随机测试数据的 ML.net 框架。我的数据存在 DepartmentId (1-25) 和 Body (string)。我希望我的机器预测应该分配身体的部门(例如在像 Zendesk 这样的票务系统中)。
使用以下代码,我收到一个错误:
ArgumentOutOfRangeException:缺少分数列
我不确定为什么它说该Score
列丢失,因为它存在于我的预测类中。
这是我训练模型的设置,以及我的课程。
主要的
部门数据和部门预测
示例数据
评估
c# - 在 ML.net 中发布训练模型。从 TaxiFareExample 发布更改模型。'Features' 必须是已知大小的 R4 向量,但具有类型:Vec
在 ML.net 中发布训练模型。
从 TaxiFareExample 发布更改模型。“特征”必须是已知大小的 R4 向量,但类型为:Vec。
我从TaxiFare
示例开始,并且有效。但后来我更改了模型并添加了我自己的值和数据。我得到了关于Features
上述的错误。我玩了一段时间并尝试限制我的数据。甚至尝试再次预测票价金额,但使用我的值作为模型(2 个整数)。
我的数据模型非常基础,我不会添加更多变量,而是尝试从简单开始。
一些第一行(我将前两个值作为int
's 并试图将第三个值预测为 a float
)。
在这里问了一个问题,但还没有看到回复。
ml.net - 动态类/对象 ML.net 的 PredictionMoadel火车()
我想根据在运行时生成合同的模型来训练数据(这意味着在编译时这些字段是未知的)。这可以使用当前 ML.net 的 Train() 方法签名来实现吗?
到目前为止,我正在尝试通过传入 TInput 和 TOutput 对象(而不是 T 类)的实例来调用此 Train 方法。
c# - 如何在 .NET Framework 4.6.1 应用程序中预测/评分 XGBoost 或 LightGBM
LightGBM
我有一个机器学习问题,我在使用和的训练/测试数据上获得了非常好的结果XGBoost
。下一步是从这些模型之一获取预测到现有 C# 应用程序 (.NET Framework 4.6.1) 是否有任何库可以帮助我做到这一点?到目前为止我已经尝试过:
- ML.NET:应该适用于
LigthGBM
,但由于这个错误,它仅适用于 .NET Core。 - Windows.ML:这应该能够预测 ONNX 模型,并且我设法从我的模型创建了一个 ONNX
XGBoost
模型。但 Windows.ML 似乎只适用于 UWP 应用程序,至少所有示例都是 UWP。 - SharpLearning:这个库有一个接口
XGBoost
。不幸的是,它不支持我所依赖的样本权重。 - CNTK:尝试加载 ONNX 文件(类似于此示例),但得到:错误:CNTK 不支持 ONNX (TreeEnsembleClassifier)。
有什么建议,还是我必须等待 ML.NET 修复错误?
ml.net - ML 控制台应用程序抛出本地 dll 未找到错误
我使用 VS 2017 创建了一个 Dotnet 核心应用程序,然后将其发布,然后将具有运行时文件夹和我的应用程序 dll 的已发布文件夹复制到我安装了 dotnet 核心框架的 Windows 服务器 2016。
即使我从命令行运行应用程序,我也会收到以下错误。(我发现这个 dll 在运行时文件夹下,但不知何故应用程序无法加载)
调用的目标已引发异常。---> System.Reflection.TargetInvocationException:调用的目标已抛出异常。---> System.DllNotFoundException:无法加载 DLL 'CpuMathNative' 或其依赖项之一:找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)