Tensorflow - получить все хорошие прогнозы от оценщика
Я постараюсь быть понятным.
Я создал оценщик DNNClassifier:
classifier = tf.estimator.DNNClassifier(
feature_columns=feature_column,
hidden_units=[10, 10],
n_classes=3)
Я тренировал эту модель:
classifier.train(input_fn=lambda:train_input_fn(train_features, train_label, 1), steps=1000)
Именно здесь у меня есть проблема. Я хочу немного изменить свою функцию оценки. Я объясняю:
Цель моей программы - узнать, прибыльна ли моя модель или нет. Мои функции / ярлык, например:
| 2 | 1 | 6 | / | 2 |
Если оценка верна, я получаю значение в свойствах [label] (6 для нашего примера). Если нет, я потерял 1.
Итак, проблема в том, что мне безразлична точность, потому что для меня это ничего не значит.
В настоящее время моя функция оценки:
def eval_input_fn(features, labels, batch_size):
"""An input function for evaluation or prediction"""
features=dict(features)
if labels is None:
# No labels, use only features.
inputs = features
else:
inputs = (features, labels)
# Convert the inputs to a Dataset.
dataset = tf.data.Dataset.from_tensor_slices(inputs)
# Batch the examples
assert batch_size is not None, "batch_size must not be None"
dataset = dataset.batch(batch_size)
# Return the dataset.
return dataset
-
eval_result = classifier.evaluate(
input_fn=lambda:eval_input_fn(test_features, test_label,
1), steps=1000)
и результат меня не устраивает:
ИНФОРМАЦИЯ: тензорный поток: диктант сохранения для глобального шага 1000: точность = 0,555, средняя потеря = 0,96378326, глобальный шаг = 1000, потери = 0,96378326
Если это возможно, я бы хотел, чтобы на каждой итерации в моем наборе данных рассчитывался выигрыш или убыток, если прогноз во время оценки в порядке или нет. Я ищу хуки, но безрезультатно. Или, если есть способ экспортировать все хорошие прогнозы после оценки ()?
У тебя есть идея?
Большое спасибо за вашу помощь!