Tensorflow 错误:”Label IDs must < n_classes",但我的标签ID似乎已经符合这一要求

我正在尝试创建一个Python 3程序,使用Tensorflow对句子进行分类。然而,当我尝试运行我的代码时,会出现一系列很长的错误。以下错误似乎是我问题的根本原因:

InvalidArgumentError: 断言失败:[Label IDs must < n_classes] [Condition x < y did not hold element-wise:x (linear/head/ToFloat:0) = ] [[4][4]1…] [y (linear/head/assert_range/Const:0) = ] 2

我使用Scikit-Learn的LabelEncoder()方法来创建标签ID,这应该符合这一要求;他们的文档页面上说,“将标签编码为0n_classes-1之间的值。”

我尝试运行的代码是:

我使用的data.csv文件是一小组无意义的测试数据:测试数据

我对如何继续感到有些不知所措。我只找到一个帖子提到了类似的问题在这里,但如果我理解正确的话,那个用户的问题似乎与我的问题性质不同。

任何见解都将不胜感激!


回答:

尝试这样做:

# 明确指定类别数量,例如10model = tf.estimator.LinearClassifier(feature_columns=feat_cols, n_classes=10)

默认值n_classes=2,这在内部意味着tensorflow使用sigmoid交叉熵损失。设置类别数量将使其变为softmax交叉熵。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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