ML.net – 第1行第1列的标签值有误

我在学习ML.Net的Iris教程,为了更好地学习API,我没有复制粘贴教程中的代码,而是自己手动输入,结果现在遇到了一些错误。

当我运行教程中的这一行代码时,抛出了一个System.Reflection.TargetInvocationException异常:

var model = pipeline.Train<IrisData, IrisPrediction>();

运行时控制台显示的错误信息如下:

  第2行第1列的标签值有误  ...  第8行第1列的标签值有误  抑制进一步的错误值消息  ...处理了150行,其中有150个错误值和0个格式错误警告:输出列'Label'的术语映射不包含任何条目。自动添加MinMax归一化转换,使用'norm=Warn'或'norm=No'来关闭此行为。使用2个线程进行训练。自动选择检查频率为2。  第1行第1列的标签值有误  ...  抑制进一步的错误值消息处理了150行,其中有150个错误值和0个格式错误警告:训练期间跳过了150个缺少特征/标签的实例

这是我的IrisData类:

namespace Ronald.A.Fisher{    public class IrisData    {        [Column("0")]        public float SepalLength;        [Column("1")]        public float SepalWidth;        [Column("2")]        public float PetalLength;        [Column("3")]        public float PetalWidth;        [Column("4")]        [ColumnName("Label")]        public float Label;    }

回答:

经过短暂的检查,我意识到其中一个列的数据类型错误了。

在用于加载学习数据的IrisData类中,我对Label使用了错误的数据类型。因此控制台显示了第1行第1列的标签值有误的消息。

为了解决这个问题,我将Label字段的数据类型从float改为string

public class IrisData{    ...    [ColumnName("Label")]    public string Label;}

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注