【问题标题】:Tensorflow LinearClassifier get individual prediction valuesTensorflow LinearClassifier 获取个体预测值
【发布时间】:2017-12-05 20:34:44
【问题描述】:

我正在尝试使用以下代码使用 Tensorflow 编写线性分类器。

m = LinearClassifier(model_dir = model_dir, feature_columns = wide_columns)
m.fit (input_fn=training, steps=FLAGS.train_steps)
results = h.evaluate(input_fn=test, steps=1)
for key in sorted(results):
    print ("%s: %s", key, results[key])

但是,我对每个测试功能都有一个预测数组(即 0 和 1 数组)感兴趣。 我想根据这些预测计算更多的值(而不是准确度和精度)。

以下是我得到的输出:

accuracy: 0.931035
accuracy/baseline_label_mean: 0.931035
accuracy/threshold_0.500000_mean: 0.931035
auc: 0.5
global_step: 202
labels/actual_label_mean: 0.931035
labels/prediction_mean: 1.0
loss: 1.11758e+11
precision/positive_threshold_0.500000_mean: 0.931035
recall/positive_threshold_0.500000_mean: 1.0

以下是我期望的输出: (前五个数字是训练特征,1和0是分类器的标签)

1,2,3,4,5 : 1
3,4,4,2,1 : 0
1,2,3,4,1 : 1
1,2,3,4,5 : 1
4,4,2,2,2 : 0
5,4,1,2,1 : 0

如何从 Tensorflow API 获得这样的输出?

【问题讨论】:

  • 您最终想要的是为您要预测的每一行特征添加一个键。检查这个:stackoverflow.com/questions/44381879/… 如果您仍然想通过模型传递特征而不进行“某种”处理(尽管在您的情况下正是需要处理的特征)我认为您可以应用与钥匙。虽然我仍然认为添加一个键(或对条目行进行哈希处理)然后将结果与相应的键连接起来以获得功能更容易。

标签: python tensorflow


【解决方案1】:

经过一番研究,我找到了解决方案。我希望它可以帮助某人:

predictions = m.predict(input_fn = lambda:input_fn(df_test), as_iterable = False)
for p in predictions:
    print(str(p), "\n")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 2019-04-28
    • 2017-11-29
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    相关资源
    最近更新 更多