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

Если это возможно, я бы хотел, чтобы на каждой итерации в моем наборе данных рассчитывался выигрыш или убыток, если прогноз во время оценки в порядке или нет. Я ищу хуки, но безрезультатно. Или, если есть способ экспортировать все хорошие прогнозы после оценки ()?

У тебя есть идея?

Большое спасибо за вашу помощь!

0 ответов

Другие вопросы по тегам