在keras里面實現(xiàn)計算f1-score的代碼
我就廢話不多說了,大家還是直接看代碼吧!
### 以下鏈接里面的code
import numpy as np
from keras.callbacks import Callback
from sklearn.metrics import confusion_matrix, f1_score, precision_score, recall_score
class Metrics(Callback):
def on_train_begin(self, logs={}):
self.val_f1s = []
self.val_recalls = []
self.val_precisions = []
def on_epoch_end(self, epoch, logs={}):
val_predict = (np.asarray(self.model.predict(self.model.validation_data[0]))).round()
val_targ = self.model.validation_data[1]
_val_f1 = f1_score(val_targ, val_predict)
_val_recall = recall_score(val_targ, val_predict)
_val_precision = precision_score(val_targ, val_predict)
self.val_f1s.append(_val_f1)
self.val_recalls.append(_val_recall)
self.val_precisions.append(_val_precision)
print “ — val_f1: %f — val_precision: %f — val_recall %f” %(_val_f1, _val_precision, _val_recall)
return
metrics = Metrics()
model.fit(
train_instances.x,
train_instances.y,
batch_size,
epochs,
verbose=2,
callbacks=[metrics],
validation_data=(valid_instances.x, valid_instances.y),
)
補充知識:Keras可使用的評價函數
1:binary_accuracy(對二分類問題,計算在所有預測值上的平均正確率)
binary_accuracy(y_true, y_pred)
2:categorical_accuracy(對多分類問題,計算在所有預測值上的平均正確率)
categorical_accuracy(y_true, y_pred)
3:sparse_categorical_accuracy(與categorical_accuracy相同,在對稀疏的目標值預測時有用 )
sparse_categorical_accuracy(y_true, y_pred)
4:top_k_categorical_accuracy(計算top-k正確率,當預測值的前k個值中存在目標類別即認為預測正確 )
top_k_categorical_accuracy(y_true, y_pred, k=5)
5:sparse_top_k_categorical_accuracy(與top_k_categorical_accracy作用相同,但適用于稀疏情況)
sparse_top_k_categorical_accuracy(y_true, y_pred, k=5)
以上這篇在keras里面實現(xiàn)計算f1-score的代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用Python+selenium實現(xiàn)第一個自動化測試腳本
這篇文章主要介紹了使用Python+selenium實現(xiàn)第一個自動化測試腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
解決Keras中Embedding層masking與Concatenate層不可調和的問題
這篇文章主要介紹了解決Keras中Embedding層masking與Concatenate層不可調和的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

