亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Keras官方中文文檔:性能評估Metrices詳解

 更新時(shí)間:2020年06月15日 09:05:17   作者:macair123  
這篇文章主要介紹了Keras官方中文文檔:性能評估Metrices詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

能評估

使用方法

性能評估模塊提供了一系列用于模型性能評估的函數(shù),這些函數(shù)在模型編譯時(shí)由metrics關(guān)鍵字設(shè)置

性能評估函數(shù)類似與目標(biāo)函數(shù), 只不過該性能的評估結(jié)果講不會用于訓(xùn)練.

可以通過字符串來使用域定義的性能評估函數(shù)

model.compile(loss='mean_squared_error',
    optimizer='sgd',
    metrics=['mae', 'acc'])

也可以自定義一個(gè)Theano/TensorFlow函數(shù)并使用之

from keras import metrics
 
model.compile(loss='mean_squared_error',
    optimizer='sgd',
    metrics=[metrics.mae, metrics.categorical_accuracy])

參數(shù)

y_true:真實(shí)標(biāo)簽,theano/tensorflow張量

y_pred:預(yù)測值, 與y_true形式相同的theano/tensorflow張量

返回值

單個(gè)用以代表輸出各個(gè)數(shù)據(jù)點(diǎn)上均值的值

可用預(yù)定義張量

除fbeta_score額外擁有默認(rèn)參數(shù)beta=1外,其他各個(gè)性能指標(biāo)的參數(shù)均為y_true和y_pred

binary_accuracy: 對二分類問題,計(jì)算在所有預(yù)測值上的平均正確率

categorical_accuracy:對多分類問題,計(jì)算再所有預(yù)測值上的平均正確率

sparse_categorical_accuracy:與categorical_accuracy相同,在對稀疏的目標(biāo)值預(yù)測時(shí)有用

top_k_categorical_accracy: 計(jì)算top-k正確率,當(dāng)預(yù)測值的前k個(gè)值中存在目標(biāo)類別即認(rèn)為預(yù)測正確

sparse_top_k_categorical_accuracy:與top_k_categorical_accracy作用相同,但適用于稀疏情況

定制評估函數(shù)

定制的評估函數(shù)可以在模型編譯時(shí)傳入,該函數(shù)應(yīng)該以(y_true, y_pred)為參數(shù),并返回單個(gè)張量,或從metric_name映射到metric_value的字典,下面是一個(gè)示例:

(y_true, y_pred) as arguments and return a single tensor value.
import keras.backend as K
def mean_pred(y_true, y_pred):
 return K.mean(y_pred)
 
model.compile(optimizer='rmsprop',
    loss='binary_crossentropy',
    metrics=['accuracy', mean_pred])

補(bǔ)充知識:Keras.metrics中的accuracy總結(jié)

1. 背景

Accuracy(準(zhǔn)確率)是機(jī)器學(xué)習(xí)中最簡單的一種評價(jià)模型好壞的指標(biāo),每一個(gè)從事機(jī)器學(xué)習(xí)工作的人一定都使用過這個(gè)指標(biāo)。沒從事過機(jī)器學(xué)習(xí)的人大都也知道這個(gè)指標(biāo),比如你去向別人推銷一款自己做出來的字符識別軟件,人家一定會問你準(zhǔn)確率是多少。準(zhǔn)確率聽起來簡單,但不是所有人都能理解得透徹,本文將介紹Keras中accuracy(也適用于Tensorflow)的幾個(gè)新“玩法”。

2. Keras中的accuracy介紹

Keras.metrics中總共給出了6種accuracy,如下圖所示:

接下來將對這些accuracy進(jìn)行逐個(gè)介紹。

1) accuracy

該accuracy就是大家熟知的最樸素的accuracy。比如我們有6個(gè)樣本,其真實(shí)標(biāo)簽y_true為[0, 1, 3, 3, 4, 2],但被一個(gè)模型預(yù)測為了[0, 1, 3, 4, 4, 4],即y_pred=[0, 1, 3, 4, 4, 4],那么該模型的accuracy=4/6=66.67%。

2) binary_accuracy

binary_accuracy和accuracy最大的不同就是,它適用于2分類的情況。從上圖中可以看到binary_accuracy的計(jì)算除了y_true和y_pred外,還有一個(gè)threshold參數(shù),該參數(shù)默認(rèn)為0.5。比如有6個(gè)樣本,其y_true為[0, 0, 0, 1, 1, 0],y_pred為[0.2, 0.3, 0.6, 0.7, 0.8, 0.1],那么其binary_accuracy=5/6=87.5%。具體計(jì)算方法為:1)將y_pred中的每個(gè)預(yù)測值和threshold對比,大于threshold的設(shè)為1,小于等于threshold的設(shè)為0,得到y(tǒng)_pred_new=[0, 0, 1, 1, 1, 0];2)將y_true和y_pred_new代入到2.1中計(jì)算得到最終的binary_accuracy=87.5%。

3) categorical_accuracy

categorical_accuracy和accuracy也很像。不同的是accuracy針對的是y_true和y_pred都為具體標(biāo)簽的情況,而categorical_accuracy針對的是y_true為onehot標(biāo)簽,y_pred為向量的情況。比如有4個(gè)樣本,其y_true為[[0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0]],y_pred為[[0.1, 0.6, 0.3], [0.2, 0.7, 0.1], [0.3, 0.6, 0.1], [0.9, 0, 0.1]],則其categorical_accuracy為75%。具體計(jì)算方法為:1)將y_true轉(zhuǎn)為非onehot的形式,即y_true_new=[2, 1, 1, 0];2)根據(jù)y_pred中的每個(gè)樣本預(yù)測的分?jǐn)?shù)得到y(tǒng)_pred_new=[1, 1, 1, 0];3)將y_true_new和y_pred_new代入到2.1中計(jì)算得到最終的categorical_accuracy=75%。

4) sparse_categorical_accuracy

和categorical_accuracy功能一樣,只是其y_true為非onehot的形式。比如有4個(gè)樣本,其y_true為[2, 1, 1, 0],y_pred為[[0.1, 0.6, 0.3], [0.2, 0.7, 0.1], [0.3, 0.6, 0.1], [0.9, 0, 0.1]],則其categorical_accuracy為75%。具體計(jì)算方法為:1)根據(jù)y_pred中的每個(gè)樣本預(yù)測的分?jǐn)?shù)得到y(tǒng)_pred_new=[1, 1, 1, 0];2)將y_true和y_pred_new代入到2.1中計(jì)算得到最終的categorical_accuracy=75%。

5) top_k_categorical_accuracy

在categorical_accuracy的基礎(chǔ)上加上top_k。categorical_accuracy要求樣本在真值類別上的預(yù)測分?jǐn)?shù)是在所有類別上預(yù)測分?jǐn)?shù)的最大值,才算預(yù)測對,而top_k_categorical_accuracy只要求樣本在真值類別上的預(yù)測分?jǐn)?shù)排在其在所有類別上的預(yù)測分?jǐn)?shù)的前k名就行。比如有4個(gè)樣本,其y_true為[[0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0]],y_pred為[[0.3, 0.6, 0.1], [0.5, 0.4, 0.1], [0.3, 0.6, 0.1], [0.9, 0, 0.1]],根據(jù)前面知識我們可以計(jì)算得到其categorical_accuracy=50%,但是其top_k_categorical_accuracy是多少呢?答案跟k息息相關(guān)。如果k大于或等于3,其top_k_categorical_accuracy毫無疑問是100%,因?yàn)榭偣簿?個(gè)類別。如果k小于3,那就要計(jì)算了,比如k=2,那么top_k_categorical_accuracy=75%。具體計(jì)算方法為:1)將y_true轉(zhuǎn)為非onehot的形式,即y_true_new=[2, 1, 1, 0];2)計(jì)算y_pred的top_k的label,比如k=2時(shí),y_pred_new = [[0, 1], [0, 1], [0, 1], [0, 2]];3)根據(jù)每個(gè)樣本的真實(shí)標(biāo)簽是否在預(yù)測標(biāo)簽的top_k內(nèi)來統(tǒng)計(jì)準(zhǔn)確率,上述4個(gè)樣本為例,2不在[0, 1]內(nèi),1在[0, 1]內(nèi),1在[0, 1]內(nèi),0在[0, 2]內(nèi),4個(gè)樣本總共預(yù)測對了3個(gè),因此k=2時(shí)top_k_categorical_accuracy=75%。說明一下,Keras中計(jì)算top_k_categorical_accuracy時(shí)默認(rèn)的k值為5。

6) sparse_top_k_categorical_accuracy

和top_k_categorical_accuracy功能一樣,只是其y_true為非onehot的形式。比如有4個(gè)樣本,其y_true為[2, 1, 1, 0],y_pred為[[0.3, 0.6, 0.1], [0.5, 0.4, 0.1], [0.3, 0.6, 0.1], [0.9, 0, 0.1]]。計(jì)算sparse_top_k_categorical_accuracy的步驟如下:1)計(jì)算y_pred的top_k的label,比如k=2時(shí),y_pred_new = [[0, 1], [0, 1], [0, 1], [0, 2]];2)根據(jù)每個(gè)樣本的真實(shí)標(biāo)簽是否在預(yù)測標(biāo)簽的top_k內(nèi)來統(tǒng)計(jì)準(zhǔn)確率,上述4個(gè)樣本為例,2不在[0, 1]內(nèi),1在[0, 1]內(nèi),1在[0, 1]內(nèi),0在[0, 2]內(nèi),4個(gè)樣本總共預(yù)測對了3個(gè),因此k=2時(shí)top_k_categorical_accuracy=75%。

3. 總結(jié)

綜上,keras中的accuracy metric用法很多,大家可以根據(jù)自己的實(shí)際情況選擇合適的accuracy metric。以下是幾個(gè)比較常見的用法:

1) 當(dāng)你的標(biāo)簽和預(yù)測值都是具體的label index(如y_true=[1, 2, 1], y_pred=[0, 1, 1])時(shí),用keras.metrics.accuracy。

2) 當(dāng)你的標(biāo)簽是具體的label index,而prediction是向量形式(如y_true=[1, 2, 1], y_pred=[[0.2, 0.3, 0.5], [0.9, 0.1, 0], [0, 0.4, 0.6]])時(shí),用keras.metrics.sparse_categorical_accuracy。

3)當(dāng)你的標(biāo)簽是onehot形式,而prediction是向量形式(如y_true=[[0, 1, 0], [0, 0, 1], [0, 1, 0]], y_pred=[[0.2, 0.3, 0.5], [0.9, 0.1, 0], [0, 0.4, 0.6]])時(shí),用keras.metrics.categorical_accuracy。

當(dāng)然,還有其他更高級的用法,比如對每個(gè)類別的accuracy求平均,或者對每個(gè)類別的accuracy進(jìn)行加權(quán),或者對每個(gè)樣本的accuracy進(jìn)行加權(quán)等,不在本文的討論范圍,大家有興趣可以去參考Tensorflow或者Keras的官方文檔。

以上這篇Keras官方中文文檔:性能評估Metrices詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • tensorflow mnist 數(shù)據(jù)加載實(shí)現(xiàn)并畫圖效果

    tensorflow mnist 數(shù)據(jù)加載實(shí)現(xiàn)并畫圖效果

    TensorFlow™ 是一個(gè)采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計(jì)算的開源軟件庫。這篇文章給大家介紹tensorflow mnist 數(shù)據(jù)加載實(shí)現(xiàn)并畫圖效果,感興趣的朋友一起看看吧
    2020-02-02
  • python自定義線程池控制線程數(shù)量的示例

    python自定義線程池控制線程數(shù)量的示例

    今天小編就為大家分享一篇python自定義線程池控制線程數(shù)量的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python使用requests?POST提交一個(gè)鍵多個(gè)值方式

    python使用requests?POST提交一個(gè)鍵多個(gè)值方式

    這篇文章主要介紹了python使用requests?POST提交一個(gè)鍵多個(gè)值方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • python里大整數(shù)相乘相關(guān)技巧指南

    python里大整數(shù)相乘相關(guān)技巧指南

    對于大整數(shù)計(jì)算,一般都要用某種方法轉(zhuǎn)化,否則會溢出。但是python無此擔(dān)憂了。Python支持“無限精度”的整數(shù),一般情況下不用考慮整數(shù)溢出的問題,而且Python Int類型與任意精度的Long整數(shù)類可以無縫轉(zhuǎn)換,超過Int 范圍的情況都將轉(zhuǎn)換成Long類型。
    2014-09-09
  • pandas.DataFrame 根據(jù)條件新建列并賦值的方法

    pandas.DataFrame 根據(jù)條件新建列并賦值的方法

    下面小編就為大家分享一篇pandas.DataFrame 根據(jù)條件新建列并賦值的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 用Q-learning算法實(shí)現(xiàn)自動(dòng)走迷宮機(jī)器人的方法示例

    用Q-learning算法實(shí)現(xiàn)自動(dòng)走迷宮機(jī)器人的方法示例

    這篇文章主要介紹了用Q-learning算法實(shí)現(xiàn)自動(dòng)走迷宮機(jī)器人的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python 多線程的實(shí)例詳解

    Python 多線程的實(shí)例詳解

    這篇文章主要介紹了 Python 多線程的實(shí)例詳解的相關(guān)資料,希望通過本文大家能掌握多線程的知識,需要的朋友可以參考下
    2017-09-09
  • 淺談Python中的常用內(nèi)置對象

    淺談Python中的常用內(nèi)置對象

    今天帶大家復(fù)習(xí)Python基礎(chǔ)知識,文中對Python常用的內(nèi)置對象作了非常詳細(xì)的介紹及代碼示例,對正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Python Django ORM與模型詳解

    Python Django ORM與模型詳解

    這篇文章主要介紹了django的ORM與模型的實(shí)現(xiàn)原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧v
    2021-11-11
  • 在DigitalOcean的服務(wù)器上部署flaskblog應(yīng)用

    在DigitalOcean的服務(wù)器上部署flaskblog應(yīng)用

    這篇文章主要介紹了在DigitalOcean的服務(wù)器上部署flaskblog的方法,flaskblog是用Python的Flask開發(fā)的一個(gè)博客程序,而DigitalOcean則是大受歡迎的SSD主機(jī)提供商,需要的朋友可以參考下
    2015-12-12

最新評論