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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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