欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Keras 利用sklearn的ROC-AUC建立評價函數(shù)詳解

 更新時間:2020年06月15日 12:03:04   作者:青盞  
這篇文章主要介紹了Keras 利用sklearn的ROC-AUC建立評價函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧!

# 利用sklearn自建評價函數(shù)
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score
from keras.callbacks import Callback

class RocAucEvaluation(Callback):
 def __init__(self, validation_data=(), interval=1):
 super(Callback, self).__init__()
 self.interval = interval
 self.x_val,self.y_val = validation_data
 def on_epoch_end(self, epoch, log={}):
 if epoch % self.interval == 0:
  y_pred = self.model.predict(self.x_val, verbose=0)
  score = roc_auc_score(self.y_val, y_pred)
  print('\n ROC_AUC - epoch:%d - score:%.6f \n' % (epoch+1, score))

x_train,y_train,x_label,y_label = train_test_split(train_feature, train_label, train_size=0.95, random_state=233)
RocAuc = RocAucEvaluation(validation_data=(y_train,y_label), interval=1)

hist = model.fit(x_train, x_label, batch_size=batch_size, epochs=epochs, validation_data=(y_train, y_label), callbacks=[RocAuc], verbose=2)

補充知識:keras用auc做metrics以及早停

我就廢話不多說了,大家還是直接看代碼吧!

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 利用sklearn的ROC-AUC建立評價函數(shù)詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python解析nginx日志文件

    Python解析nginx日志文件

    Web服務器的各種系統(tǒng)管理工作包括了多Nginx/Apache 日志的統(tǒng)計,python使這個任務變得極其簡單,下面我們來詳細講解下具體的做法,有需要的小伙伴可以參考下。
    2015-05-05
  • python在非root權限下的安裝方法

    python在非root權限下的安裝方法

    下面小編就為大家分享一篇python在非root權限下的安裝方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 詳解Python的三種可變參數(shù)

    詳解Python的三種可變參數(shù)

    這篇文章主要介紹了Python的三種可變參數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Python學習之sys模塊使用教程詳解

    Python學習之sys模塊使用教程詳解

    sys模塊?與?os包一樣,也是對系統(tǒng)資源進行調用。功能同樣也是非常豐富。本文將對sys模塊的一些簡單且常用的函數(shù)進行介紹,感興趣的可以學習一下
    2022-03-03
  • Python實現(xiàn)甘特圖繪制的示例詳解

    Python實現(xiàn)甘特圖繪制的示例詳解

    相信在平常實際工作當中,需要對整體的項目做一個梳理,這時如果有一個網(wǎng)頁應用能夠對整體項目有一個可視化頁面的展示,是不是會對你的實際工作有所幫助呢?今天小編就通過Python+Streamlit框架來繪制甘特圖并制作可視化大屏,需要的可以參考一下
    2023-04-04
  • Python selenium 實例之通過 selenium 查詢禪道是否有任務或者BUG

    Python selenium 實例之通過 selenium 查詢禪道是否有任務或者BUG

    這篇文章主要介紹了Python selenium 實例之通過 selenium 查詢禪道是否有任務或者BUG的相關資料,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • pytorch創(chuàng)建tensor函數(shù)詳情

    pytorch創(chuàng)建tensor函數(shù)詳情

    這篇文章主要介紹了pytorch創(chuàng)建tensor函數(shù)詳情,文章圍繞tensor函數(shù)的相關自來哦展開詳細內容的介紹,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-03-03
  • 2021年的Python 時間軸和即將推出的功能詳解

    2021年的Python 時間軸和即將推出的功能詳解

    這篇文章主要介紹了2021年的Python 時間軸和即將推出的功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Python調用edge-tts實現(xiàn)在線文字轉語音效果

    Python調用edge-tts實現(xiàn)在線文字轉語音效果

    edge-tts是一個 Python 模塊,允許通過Python代碼或命令的方式使用 Microsoft Edge 的在線文本轉語音服務,這篇文章主要介紹了Python調用edge-tts實現(xiàn)在線文字轉語音效果,需要的朋友可以參考下
    2024-03-03
  • Python實現(xiàn)變量數(shù)值交換及判斷數(shù)組是否含有某個元素的方法

    Python實現(xiàn)變量數(shù)值交換及判斷數(shù)組是否含有某個元素的方法

    這篇文章主要介紹了Python實現(xiàn)變量數(shù)值交換及判斷數(shù)組是否含有某個元素的方法,涉及Python字符串與數(shù)組的相關賦值、判斷操作技巧,需要的朋友可以參考下
    2017-09-09

最新評論