Как добавить метрику f1 к мультиклассу tenorflow DNN Classifier - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь добавить оценку f1 для стандартного DNNClassifier на tenorflow.Есть 3 метки, которые, я думаю, вызывают проблему при попытке добавить метрику f1_score с помощью функции tf.contrib.estimator.add_metrics.

Я получаю ошибки Shapes (?, 3) и (?, 1) несовместимы.Я в растерянности, буду признателен за любую помощь.

Файл "C: \ Python36 \ lib \ site-packages \ tenorflow \ python \ ops \ metrics_impl.py", строка 116, в предсказаниях _remove_squeezable_dimensions.get_shape (). assert_is_compatible_with (лябки% s несовместимы "% (self, other)) ValueError: Shape (?, 3) и (?, 1) несовместимы

У меня есть следующий код:

   def my_f1(features, labels, predictions):
         return {'auc': tf.contrib.metrics.f1_score(
                 labels, predictions['logits'], weights=features['weight'])}






    est = tf.estimator.DNNClassifier(feature_columns=feature_columns,
                                 n_classes=3,
                                 config=tf.estimator.RunConfig(
                                     save_checkpoints_steps=100,
                                     keep_checkpoint_max=5000,
                                 ),
                                 activation_fn=tf.nn.leaky_relu,
                                 optimizer=tf.train.FtrlOptimizer(
                                     learning_rate=0.01,
                                     l1_regularization_strength=0.005
                                 ),
                                 weight_column='weight',
                                 dropout=0.5,
                                 hidden_units=[800, 450, 200, 100, 50],
                                 model_dir="D:/Stock Data/NeuralNetwork2"
                                 )
    est = tf.contrib.estimator.add_metrics(est, my_f1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...