我一直在使用Tensorflow中的DNNClassifier
模型,我已经得到了模型来训练,评估和输出结果。
这是我用来输出我的预测的代码:
predictions = classifier.predict(input_fn=predict_input_fn)
i = 0
for j, p in enumerate(predictions):
print("Prediction %s: %s" % (j + 1, p["probabilities"]))
i = i + 1
if i > 100:
break
i
被用来限制测试结果,因为输出大约有16,000个结果,我不需要为了我现在正在尝试的目的而看到所有结果。
我得到的输出看起来像这样:
Prediction 1: [ 5.11678644e-02 9.48832154e-01 3.84762299e-37]
Prediction 2: [ 0.0352843 0.96471566 0. ]
Prediction 3: [ 1.04001068e-04 9.99895930e-01 0.00000000e+00]
Prediction 4: [ 0.0323724 0.96762753 0. ]
我知道这些是某种可能性,但我无法找到每个人的意思。每行有三个,但只有两个类别,所以我猜其中一个是确定性的衡量标准?
我意识到这不是一个严格的编程问题,而是更多关于输出和文档。然而,在询问之前,我确实查看了其他StackExchange站点和TensorFlow文档本身,试图找到一个更好的地方询问/答案。 AI Stack Exchange网站仍然处于测试阶段,似乎与TensorFlow相关的活动很少(这是可以理解的,因为很多TensorFlow问题都是编程问题),而且在谈到TF问题之前,我在StackOverflow上取得了一定的成功。
看起来您在三个类别(标签)之间进行分类。因此,您在预测中看到的是您对每个可能类别(标签)的网络加权猜测。例如,在您的第一次预测中,网络结果可以解释为:数据属于第一类(标签)的概率约为5%,数据属于第二类(标签)的概率为~95%,并且~0%的机会属于第三类(标签)。