Python Tensorflow线性分类器获取单个预测值
我正在尝试使用以下代码编写使用Tensorflow的线性分类器Python Tensorflow线性分类器获取单个预测值,python,tensorflow,Python,Tensorflow,我正在尝试使用以下代码编写使用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
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是分类器的标签)
如何从Tensorflow API中获得这样的输出?经过研究,我找到了一个解决方案。我希望它能帮助某人:
predictions = m.predict(input_fn = lambda:input_fn(df_test), as_iterable = False)
for p in predictions:
print(str(p), "\n")
经过研究,我找到了一个解决办法。我希望它能帮助某人:
predictions = m.predict(input_fn = lambda:input_fn(df_test), as_iterable = False)
for p in predictions:
print(str(p), "\n")
最后,您希望为要预测的每一行功能添加一个键。检查此项:如果您仍然希望通过模型传递特征而不进行“某种”处理(尽管在您的情况下,需要处理的正是特征),我认为您可以应用与密钥相同的想法。尽管我仍然认为添加一个键(或对条目行进行散列),然后将结果与相应的键连接起来以获得功能更容易。最终,您想要的是为要预测的每一行功能添加一个键。检查此项:如果您仍然希望通过模型传递特征而不进行“某种”处理(尽管在您的情况下,需要处理的正是特征),我认为您可以应用与密钥相同的想法。尽管我仍然认为添加一个键(或散列条目行)然后将结果与相应的键连接起来以获得特性更容易。