• keras自定义评价函数


    注:不知道是否正确

    示例一:

    import keras.backend as K
    from keras import Sequential
    from keras.layers import Dense
    import numpy as np
    
    def getPrecision(y_true, y_pred):
        TP = K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))#TP
        N = (-1)*K.sum(K.round(K.clip(y_true-K.ones_like(y_true), -1, 0)))#N
        TN=K.sum(K.round(K.clip((y_true-K.ones_like(y_true))*(y_pred-K.ones_like(y_pred)), 0, 1)))#TN
        FP=N-TN
        precision = TP / (TP + FP + K.epsilon())#TT/P
        return precision
    
    def getRecall(y_true, y_pred):
        TP = K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))#TP
        P=K.sum(K.round(K.clip(y_true, 0, 1)))
        FN = P-TP #FN=P-TP
        recall = TP / (TP + FN + K.epsilon())#TP/(TP+FN)
        return recall
    model.compile(optimizer="sgd", loss="categorical_crossentropy",metrics=["acc",getRecall,getPrecision])

     来源:https://zhuanlan.zhihu.com/p/38080551

    示例二:

    from keras import backend as K
    def Precision(y_true, y_pred):
        """精确率"""
        tp= K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))  # true positives
        pp= K.sum(K.round(K.clip(y_pred, 0, 1))) # predicted positives
        precision = tp/ (pp+ K.epsilon())
        return precision
        
    def Recall(y_true, y_pred):
        """召回率"""
        tp = K.sum(K.round(K.clip(y_true * y_pred, 0, 1))) # true positives
        pp = K.sum(K.round(K.clip(y_true, 0, 1))) # possible positives
        recall = tp / (pp + K.epsilon())
        return recall
     
    def F1(y_true, y_pred):
        """F1-score"""
        precision = Precision(y_true, y_pred)
        recall = Recall(y_true, y_pred)
        f1 = 2 * ((precision * recall) / (precision + recall + K.epsilon()))
        return f1

    来源:https://blog.csdn.net/joleoy/article/details/85787457

  • 相关阅读:
    TCP协议详解-IPv4
    welcome to my cnblog
    怎样解决闭包造成的内存泄漏
    跳转路由后请求失败
    vant grid组件图片加载问题
    3次握手
    res.send()传参----Invalid status code: 1
    堆栈总结
    jQuery实现全选
    phpstudy_pro打开MySQL服务,一闪一闪的
  • 原文地址:https://www.cnblogs.com/Dean0731/p/12703798.html
Copyright © 2020-2023  润新知