Python 将Tensorflow预测导出到csv,但结果包含所有零-这是因为一个热端吗?

Python 将Tensorflow预测导出到csv,但结果包含所有零-这是因为一个热端吗?,python,tensorflow,one-hot-encoding,Python,Tensorflow,One Hot Encoding,我使用Tensorflow框架进行分类预测。我的数据集包含大约1160个输出类。输出类值为6位数字。例如,789954。在使用Tensorflow对数据集进行训练和测试后,我获得了大约99%的准确率 现在,第二步是在csv文件中获取预测结果,以便我可以检查预测结果(logit)是否与集合中的原始标签匹配。我们知道logit是我的一个热编码向量。因此,我已经完成了以下步骤,以解码一个热编码 prediction=tf.argmax(logits,1) print(prediction.eval(f

我使用Tensorflow框架进行分类预测。我的数据集包含大约1160个输出类。输出类值为6位数字。例如,789954。在使用Tensorflow对数据集进行训练和测试后,我获得了大约99%的准确率

现在,第二步是在csv文件中获取预测结果,以便我可以检查预测结果(logit)是否与集合中的原始标签匹配。我们知道logit是我的一个热编码向量。因此,我已经完成了以下步骤,以解码一个热编码

prediction=tf.argmax(logits,1)
print(prediction.eval(feed_dict={features : test_features, keep_prob: 1.0}))
prediction = np.asarray(prediction.eval(feed_dict={features : test_features, keep_prob: 1.0}))

prediction = np.reshape(prediction, (test_features.shape[0],1))
np.savetxt("prediction.csv", prediction, delimiter=",") 
对于所有条目,csv文件中的结果值仅为0.00E+00。但我的期望是,每个csv条目都有6位代码。我想我的一个热门编码出了问题

任何帮助都是值得的

添加: 我有一个热编码的方式

labels = tf.one_hot(labels, n_classes)

n_classes=1160,所有的值都是6位数字,如果每个描述只有一个标签,那么你的方法就可以了。您可以使用
sklearn LabelEncoder
将类别转换为标签。您的标签应为每个功能设置一个介于
[0到1160]
之间的值,然后对csv文件中的热编码执行

0.00E+00。请使用
np.savetxt(“prediction.csv”,prediction,fmt='%d',delimiter=“,”)进行检查
。问题可能是所有预测都指向第一类。嗨,我想解释一下问题陈述。对于描述,“Airtel bill”-相应的代码是457857“fit bit”-788978“google home”-959546,因此对于每个描述,都有相应的代码。因此,我使用sklearn的countvectorizer获取每个描述的向量,并运行一个NN模型来查找新数据的分类。这个模型不适合执行这些数据吗?就像你说的,如果所有的预测都指向第一类,那么为什么我得到100%的准确率?你的是一个多标签问题?。标签上有多个箱子作为一个?csv文件中的所有预测都为零吗?。如果是的话,那么你的准确度计算是错误的。有办法解决吗?