代码之家  ›  专栏  ›  技术社区  ›  Kathiravan Natarajan

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

  •  1
  • Kathiravan Natarajan  · 技术社区  · 8 年前

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

    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_类=1160,所有值都是6位数字

    1 回复  |  直到 8 年前
        1
  •  1
  •   Vijay Mariappan    8 年前

    如果每个描述只有 one-label 那么你的方法很好。您使用 sklearn LabelEncoder 将类别转换为标签。对于每个特征,标签的值应介于 [0 to 1160] 然后做一个 on-hot encoding