Keras 利用sklearn的ROC-AUC建立评价函数详解

下面是关于“Keras 利用sklearn的ROC-AUC建立评价函数详解”的完整攻略。

Keras 利用sklearn的ROC-AUC建立评价函数

在Keras中,我们可以使用sklearn库中的ROC-AUC函数来建立评价函数。下面是一个示例说明。

示例1:使用sklearn的ROC-AUC函数建立评价函数

from keras.models import Sequential
from keras.layers import Dense
from sklearn.metrics import roc_auc_score

# 创建模型
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam')

# 定义评价函数
def auc(y_true, y_pred):
    return roc_auc_score(y_true, y_pred)

# 训练模型
model.fit(X, y, epochs=150, batch_size=10, validation_split=0.2, verbose=0)

# 评估模型
scores = model.evaluate(X, y, verbose=0)
print("Accuracy: %.2f%%" % (scores[1]*100))

在这个示例中,我们首先使用Sequential()类创建一个新的模型。我们使用Dense()函数添加层到模型中。我们使用compile()方法编译模型。我们使用roc_auc_score()函数定义评价函数。我们使用fit()方法训练模型。我们使用evaluate()方法评估模型。

示例2:使用sklearn的ROC-AUC函数建立评价函数并应用于模型

from keras.models import Sequential
from keras.layers import Dense
from sklearn.metrics import roc_auc_score
from keras.callbacks import Callback

# 创建模型
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam')

# 定义评价函数
class roc_callback(Callback):
    def __init__(self, training_data, validation_data):
        self.x = training_data[0]
        self.y = training_data[1]
        self.x_val = validation_data[0]
        self.y_val = validation_data[1]

    def on_epoch_end(self, epoch, logs={}):
        y_pred = self.model.predict(self.x)
        roc = roc_auc_score(self.y, y_pred)
        logs['roc_auc'] = roc
        y_pred_val = self.model.predict(self.x_val)
        roc_val = roc_auc_score(self.y_val, y_pred_val)
        logs['val_roc_auc'] = roc_val
        print('\rroc_auc: %s - val_roc_auc: %s' % (str(round(roc, 4)), str(round(roc_val, 4))), end=100*' '+'\n')

# 训练模型
roc = roc_callback(training_data=(X_train, y_train), validation_data=(X_test, y_test))
model.fit(X_train, y_train, epochs=150, batch_size=10, validation_data=(X_test, y_test), callbacks=[roc], verbose=0)

在这个示例中,我们首先使用Sequential()类创建一个新的模型。我们使用Dense()函数添加层到模型中。我们使用compile()方法编译模型。我们使用roc_auc_score()函数定义评价函数。我们使用Callback()类定义回调函数。我们使用fit()方法训练模型。

总结

在Keras中,我们可以使用sklearn库中的ROC-AUC函数来建立评价函数。我们可以使用roc_auc_score()函数定义评价函数。我们可以使用Callback()类定义回调函数。我们可以使用fit()方法训练模型。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Keras 利用sklearn的ROC-AUC建立评价函数详解 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • 实时绘制训练过程中损失和准确率的变化趋势 python keras jupyter notebook

    本文转自:https://www.jianshu.com/p/a9247add0046 livelossplot 这款工具用于实时绘制训练时的损失和准确率,方便好用,不需要自己另外再写 plot 函数。Keras 和 PyTorch 中都可以使用。之前推荐过给朋友,最近自己才用上,感觉真的超方便了~ 如下图所示:   用法: 1 from livelossp…

    2023年4月6日
    00
  • Keras实现Self-Attention

    本文转载自:https://blog.csdn.net/xiaosongshine/article/details/90600028 对于self-attention来讲,Q(Query), K(Key), V(Value)三个矩阵均来自同一输入,首先我们要计算Q与K之间的点乘,然后为了防止其结果过大,会除以一个尺度标度其中  为一个query和key向量的…

    2023年4月6日
    00
  • keras安装

    找对工具真的很重要,周末和学霸折腾了一天才装了几个包,问了同事找了一个方便的包,装起来不要太快啊。二十分钟全部搞定。   一、Anaconda   真是大杀器,牛到飞起来,一键部署,所有常用的机器学习包全部包括了,安装也很方便。下载地址:https://www.continuum.io/downloads     二、theano   下载地址:https:…

    Keras 2023年4月6日
    00
  • 【599】keras.layers 里面 Multiply、multiply & Add、add 的区别

      再看 Attention U-Net 源码的时候,注意到了有 keras.layers 里面有 Multiply 和 multiply 两个方法   它们可以实现相同的效果,但是语法稍有不同 # 按照图层的模式处理 Multiply()([m1, m2]) # 相当于一个函数操作 multiply([m1, m2])   另外可以实现 broadcast…

    Keras 2023年4月7日
    00
  • python3.5-tensorflow-keras 安装

    cpu centos FROM centos:7 MAINTAINER yon RUN yum -y install make wget \ && wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo \ &&amp…

    Keras 2023年4月8日
    00
  • fashion MNIST识别(Tensorflow + Keras + NN)

    https://www.kaggle.com/zalando-research/fashionmnist   Fashion-MNIST is a dataset of Zalando’s article images—consisting of a training set of 60,000 examples and a test set of 10,0…

    Keras 2023年4月8日
    00
  • 浅谈keras中的keras.utils.to_categorical用法

    下面是关于“浅谈Keras中的keras.utils.to_categorical用法”的完整攻略。 Keras中的keras.utils.to_categorical用法 在Keras中,keras.utils.to_categorical是一个用于将类别向量(从0到nb_classes的整数向量)转换为二进制类别矩阵的实用函数。下面是一个详细的攻略,介绍…

    Keras 2023年5月15日
    00
  • visualization of filters keras 基于Keras的卷积神经网络(CNN)可视化

    https://adeshpande3.github.io/adeshpande3.github.io/ https://blog.csdn.net/weiwei9363/article/details/79112872 https://blog.csdn.net/and_w/article/details/70336506 https://hackerno…

    2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部