Я использую Tenorflow DNNClassifier для классификации по нескольким меткам, которая использует точность, так как использует свою метрику.Я оцениваю модель, используя показатель sklearn f1, который показывает довольно низкий балл.Также оценка от склеарна точность низкая.Моя реализация где-то неверна?
Классификатор DNN
embedding_feats = hub.text_embedding_column(key='text',
module_spec='https://tfhub.dev/google/universal-sentence-encoder/2',
trainable=False)
dnn = tf.estimator.DNNClassifier(
hidden_units=[512, 128],
feature_columns=[embedding_feats],
n_classes=11,
activation_fn=tf.nn.relu,
dropout=0.1,
optimizer=tf.train.AdagradOptimizer(learning_rate=0.005))
Классификатор DNN.Значение по умолчанию составляет 0,40
Training for step = 8000
Train Time (s): 52.573952436447144
Eval Metrics (Train): {'accuracy': 0.44695774, 'average_loss': 1.516403, 'loss': 193.58235, 'global_step': 8200}
Eval Metrics (Validation): {'accuracy': 0.40303582, 'average_loss': 1.6520736, 'loss': 209.30502, 'global_step': 8200}
Sklearn F1, балл
f1_score(y_test,predictions_test,labels=le.classes_,average='weighted')
0.1066998393248964
Sklearn Точность оценки
accuracy_score(y_test, predictions_test)
0.11804138735062664