解決keras,val_categorical_accuracy:,0.0000e+00問題
問題描述:
在利用神經(jīng)網(wǎng)絡(luò)進(jìn)行分類和識別的時(shí)候,使用了keras這個(gè)封裝層次比較高的框架,backend使用的是tensorflow-cpu。
在交叉驗(yàn)證的時(shí)候,出現(xiàn) val_categorical_accuracy: 0.0000e+00的問題。
問題分析:
首先,弄清楚,訓(xùn)練集、驗(yàn)證集、測試集的區(qū)別,驗(yàn)證集是從訓(xùn)練集中提前拿出一部分的數(shù)據(jù)集。在keras中,一般都是使用這種方式來指定驗(yàn)證集占訓(xùn)練集和的總大小。
validation_split=0.2
比如,經(jīng)典的數(shù)據(jù)集MNIST,共有60000個(gè)訓(xùn)練集,就會
Train on 48000 samples, validate on 12000 samples
我自己學(xué)習(xí)使用的數(shù)據(jù)集比較小
訓(xùn)練數(shù)據(jù)集樣本數(shù): 498 ,標(biāo)簽個(gè)數(shù) 498
Train on 398 samples, validate on 100 samples
基本上符合4:1(0.2)的分配
出現(xiàn) val_categorical_accuracy: 0.0000e+00的問題,我這邊的原因主要是,樣本本身是有規(guī)律的,導(dǎo)致分配的驗(yàn)證集的標(biāo)簽可能在訓(xùn)練集中可能就沒有。
(PS:我實(shí)際看了下,498個(gè)樣本共10個(gè)標(biāo)簽,后100個(gè)驗(yàn)證集占據(jù)了基本上后面3個(gè)標(biāo)簽(實(shí)際上,這三個(gè)標(biāo)簽占了103個(gè)樣本),也就是前面的訓(xùn)練集基本上就沒有后面的標(biāo)簽,整體占據(jù)前面7個(gè)標(biāo)簽)
問題解決:
把最初始的訓(xùn)練集打亂,當(dāng)然,標(biāo)簽也要跟著移動。
index = [i for i in range(len(x_train))] np.random.shuffle(index) x_train = x_train[index] y_train = y_train[index] model.fit(x_train, y_train, batch_size=32, epochs=10, validation_split=0.2, verbose=1)
同樣的問題表現(xiàn),可能有不同的原因,解決方法也不盡相同,這里只是和大家分享我自己的問題解決過程。
補(bǔ)充知識:keras中自定義驗(yàn)證集的性能評估
如下所示:
def AUC(y_true,y_pred): not_y_pred=np.logical_not(y_pred) y_int1=y_true*y_pred y_int0=np.logical_not(y_true)*not_y_pred TP=np.sum(y_pred*y_int1) FP=np.sum(y_pred)-TP TN=np.sum(not_y_pred*y_int0) FN=np.sum(not_y_pred)-TN TPR=np.float(TP)/(TP+FN) FPR=np.float(FP)/(FP+TN) return((1+TPR-FPR)/2)
以上這篇解決keras,val_categorical_accuracy:,0.0000e+00問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python腳本請求數(shù)量達(dá)到上限,http請求重試問題
這篇文章主要介紹了python腳本請求數(shù)量達(dá)到上限,http請求重試問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Python實(shí)現(xiàn)MySQL操作的方法小結(jié)【安裝,連接,增刪改查等】
這篇文章主要介紹了Python實(shí)現(xiàn)MySQL操作的方法,結(jié)合實(shí)例形式分析了Python針對mysql的安裝,連接,增刪改查等操作實(shí)現(xiàn)方法,需要的朋友可以參考下2017-07-07PyCharm導(dǎo)入python項(xiàng)目并配置虛擬環(huán)境的教程詳解
這篇文章主要介紹了Pycharm導(dǎo)入python項(xiàng)目并配置虛擬環(huán)境的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10