我是机器学习和 ML.Net 的新手(从编码和模型构建器的角度来看)。我编写了代码来训练和预测(针对我们的数据的相对简单的示例),但我认为最好使用模型构建器,因为它会选择合适的模型进行训练。
我在模型构建器中使用数据分类场景。我有一个成功训练的数据集(来自 SQL Server),但我想使用不同版本的数据集(相同的架构,不同的数据)。创建此其他数据集时,我现在收到错误消息“试用 0 遇到错误消息:必须至少为 2”,并且我无法找到有关该错误的任何信息。我已经比较了这两个数据集(列类型、空值、检查了高级数据选项以确保它们相同) - 训练的原始数据集和引发此异常的新数据集,除了数据之外它们似乎相同本身。
我甚至使用 Telerik JustDecompile 来查看 ML 代码(Microsoft.ML.Trainers - LinearMulticlassModelParametersBase)中的哪个位置抛出了这个错误。我知道有 2 种不同类型的数据分类场景 - 二进制和多类。我有一列定义为标签,应该是 1 或 0。
我很感激任何帮助。希望有人能指出我正确的方向。我一直在分析有效的数据集和无效的数据集 # 天并且找不到差异。即使模式相同,模型是否也会根据正在训练的实际数据使用不同的算法?
我将尝试通过代码使用这两个相同的数据集(不使用模型构建器)。
谢谢。汤姆