Keras:模型评估
Posted -柚子皮-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keras:模型评估相关的知识,希望对你有一定的参考价值。
keras模型评估
keras能用的模型评估不多,有的可能是这些评估在keras框架下不准确,如果要用,可以使用tensorflow或者sklearn中的评估模型。
tensorflow:
from tensorflow.python.estimator import training
result = training.train_and_evaluate(dnn_estimator, train_spec, eval_spec)
print(result[:10])
# ('accuracy': 0.8025, 'accuracy_baseline': 0.5, 'auc': 0.89911944, 'auc_precision_recall': 0.8918648, 'average_loss': 0.40619093, 'label/mean': 0.5, 'loss': 51.85416, 'precision': 0.7941653, 'prediction/mean': 0.5040493, 'recall': 0.81666666, 'global_step': 92450, [])
sklearn:
from sklearn import metrics
test_pred_prob_y = model.predict(test_x, batch_size=batch_size)
print(metrics.roc_auc_score(np.argmax(test_y, axis=1), np.argmax(test_pred_prob_y, axis=1)))
保存keras模型并重新导入,发现自己定义的损失函数/评估指标不能用?
1 加一个custom_objects
model = load_model('***.h5',custom_objects='my_loss': my_loss, 'my_metrics':my_metrics)
def auc(y_true, y_pred):
auc = tf.metrics.auc(y_true, y_pred)[1]
backend.get_session().run(tf.local_variables_initializer())
return auc
model.save(model_file)
model = models.load_model(model_file, custom_objects='auc': auc)
2 或者也可以把自定义的loss拷贝到keras.losses.py 源代码文件下
[Scikit-learn:模型评估Model evaluation]
from: -柚子皮-
ref:
以上是关于Keras:模型评估的主要内容,如果未能解决你的问题,请参考以下文章