keras用auc做metrics以及早停实例


Posted in Python onJuly 02, 2020

我就废话不多说了,大家还是直接看代码吧~

import tensorflow as tf
from sklearn.metrics import roc_auc_score

def auroc(y_true, y_pred):
 return tf.py_func(roc_auc_score, (y_true, y_pred), tf.double)
# Build Model...

model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy', auroc])

完整例子:

def auc(y_true, y_pred):
 auc = tf.metrics.auc(y_true, y_pred)[1]
 K.get_session().run(tf.local_variables_initializer())
 return auc

def create_model_nn(in_dim,layer_size=200):
 model = Sequential()
 model.add(Dense(layer_size,input_dim=in_dim, kernel_initializer='normal'))
 model.add(BatchNormalization())
 model.add(Activation('relu'))
 model.add(Dropout(0.3))
 for i in range(2):
  model.add(Dense(layer_size))
  model.add(BatchNormalization())
  model.add(Activation('relu'))
  model.add(Dropout(0.3))
 model.add(Dense(1, activation='sigmoid'))
 adam = optimizers.Adam(lr=0.01)
 model.compile(optimizer=adam,loss='binary_crossentropy',metrics = [auc]) 
 return model
####cv train
folds = StratifiedKFold(n_splits=5, shuffle=False, random_state=15)
oof = np.zeros(len(df_train))
predictions = np.zeros(len(df_test))
for fold_, (trn_idx, val_idx) in enumerate(folds.split(df_train.values, target2.values)):
 print("fold n°{}".format(fold_))
 X_train = df_train.iloc[trn_idx][features]
 y_train = target2.iloc[trn_idx]
 X_valid = df_train.iloc[val_idx][features]
 y_valid = target2.iloc[val_idx]
 model_nn = create_model_nn(X_train.shape[1])
 callback = EarlyStopping(monitor="val_auc", patience=50, verbose=0, mode='max')
 history = model_nn.fit(X_train, y_train, validation_data = (X_valid ,y_valid),epochs=1000,batch_size=64,verbose=0,callbacks=[callback])
 print('\n Validation Max score : {}'.format(np.max(history.history['val_auc'])))
 predictions += model_nn.predict(df_test[features]).ravel()/folds.n_splits

补充知识: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用auc做metrics以及早停实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中合并两个文本文件并按照姓名首字母排序的例子
Apr 25 Python
有关wxpython pyqt内存占用问题分析
Jun 09 Python
Python实现列表转换成字典数据结构的方法
Mar 11 Python
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
Python实现获取命令行输出结果的方法
Jun 10 Python
Python中import机制详解
Nov 14 Python
python3如何将docx转换成pdf文件
Mar 23 Python
PyQt5固定窗口大小的方法
Jun 18 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
Feb 26 Python
Django ModelForm组件原理及用法详解
Oct 12 Python
Python进程间的通信之语法学习
Apr 11 Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 #Python
Python装饰器结合递归原理解析
Jul 02 #Python
Python OpenCV读取中文路径图像的方法
Jul 02 #Python
keras.utils.to_categorical和one hot格式解析
Jul 02 #Python
python 使用多线程创建一个Buffer缓存器的实现思路
Jul 02 #Python
浅谈keras中的keras.utils.to_categorical用法
Jul 02 #Python
Python使用OpenPyXL处理Excel表格
Jul 02 #Python
You might like
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
2015/04/03 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
javascript Array.sort() 跨浏览器下需要考虑的问题
2009/12/07 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
基于滚动条位置判断的简单实例
2017/12/14 Javascript
深入理解node.js http模块
2018/01/24 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
Python实现的矩阵类实例
2017/08/22 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
美国在线珠宝商店:SZUL
2017/02/11 全球购物
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
比较基础的php面试题及答案-编程题
2012/10/14 面试题
优秀村官事迹材料
2014/01/10 职场文书
周年庆典邀请函范文
2014/01/24 职场文书
关于旅游的活动方案
2014/08/15 职场文书
销售顾问工作计划书
2014/09/15 职场文书
优秀党员先进材料
2014/12/18 职场文书
2015年外联部工作总结
2015/04/03 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
HTML常用标签超详细整理
2022/03/19 HTML / CSS