最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

能評估

使用方法

性能評估模塊提供了一系列用于模型性能評估的函數(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'])

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

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

參數(shù)

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

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

返回值

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

可用預(yù)定義張量

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

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

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

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

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

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

定制評估函數(shù)

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

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

2. Keras中的accuracy介紹

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

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

1) accuracy

該accuracy就是大家熟知的最樸素的accuracy。比如我們有6個樣本,其真實標(biāo)簽y_true為[0, 1, 3, 3, 4, 2],但被一個模型預(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的計算除了y_true和y_pred外,還有一個threshold參數(shù),該參數(shù)默認(rèn)為0.5。比如有6個樣本,其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%。具體計算方法為:1)將y_pred中的每個預(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中計算得到最終的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個樣本,其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%。具體計算方法為:1)將y_true轉(zhuǎn)為非onehot的形式,即y_true_new=[2, 1, 1, 0];2)根據(jù)y_pred中的每個樣本預(yù)測的分?jǐn)?shù)得到y(tǒng)_pred_new=[1, 1, 1, 0];3)將y_true_new和y_pred_new代入到2.1中計算得到最終的categorical_accuracy=75%。

4) sparse_categorical_accuracy

和categorical_accuracy功能一樣,只是其y_true為非onehot的形式。比如有4個樣本,其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%。具體計算方法為:1)根據(jù)y_pred中的每個樣本預(yù)測的分?jǐn)?shù)得到y(tǒng)_pred_new=[1, 1, 1, 0];2)將y_true和y_pred_new代入到2.1中計算得到最終的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個樣本,其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ù)前面知識我們可以計算得到其categorical_accuracy=50%,但是其top_k_categorical_accuracy是多少呢?答案跟k息息相關(guān)。如果k大于或等于3,其top_k_categorical_accuracy毫無疑問是100%,因為總共就3個類別。如果k小于3,那就要計算了,比如k=2,那么top_k_categorical_accuracy=75%。具體計算方法為:1)將y_true轉(zhuǎn)為非onehot的形式,即y_true_new=[2, 1, 1, 0];2)計算y_pred的top_k的label,比如k=2時,y_pred_new = [[0, 1], [0, 1], [0, 1], [0, 2]];3)根據(jù)每個樣本的真實標(biāo)簽是否在預(yù)測標(biāo)簽的top_k內(nèi)來統(tǒng)計準(zhǔn)確率,上述4個樣本為例,2不在[0, 1]內(nèi),1在[0, 1]內(nèi),1在[0, 1]內(nèi),0在[0, 2]內(nèi),4個樣本總共預(yù)測對了3個,因此k=2時top_k_categorical_accuracy=75%。說明一下,Keras中計算top_k_categorical_accuracy時默認(rèn)的k值為5。

6) sparse_top_k_categorical_accuracy

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

3. 總結(jié)

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

1) 當(dāng)你的標(biāo)簽和預(yù)測值都是具體的label index(如y_true=[1, 2, 1], y_pred=[0, 1, 1])時,用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]])時,用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]])時,用keras.metrics.categorical_accuracy。

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

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

相關(guān)文章

  • matplotlib grid()設(shè)置網(wǎng)格線外觀的實現(xiàn)

    matplotlib grid()設(shè)置網(wǎng)格線外觀的實現(xiàn)

    這篇文章主要介紹了matplotlib grid()設(shè)置網(wǎng)格線外觀的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python如何利用cv2.rectangle()繪制矩形框

    python如何利用cv2.rectangle()繪制矩形框

    cv2.rectangle這個函數(shù)的作用是在圖像上繪制一個簡單的矩形,下面這篇文章主要給大家介紹了關(guān)于python如何利用cv2.rectangle()繪制矩形框的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 關(guān)于Python 常用獲取元素 Driver 總結(jié)

    關(guān)于Python 常用獲取元素 Driver 總結(jié)

    今天小編就為大家分享一篇關(guān)于Python 常用獲取元素 Driver 總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python輕松讀取TOML文件告別手動編輯配置文件

    Python輕松讀取TOML文件告別手動編輯配置文件

    這篇文章主要為大家介紹了Python輕松讀取TOML文件告別手動編輯配置文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 如何解決PyCharm顯示:無效的Python?SDK

    如何解決PyCharm顯示:無效的Python?SDK

    這篇文章主要介紹了在不同電腦之間傳輸Python項目時遇到的路徑問題,并提供了解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • python實現(xiàn)ModBusRTU客戶端方式

    python實現(xiàn)ModBusRTU客戶端方式

    這篇文章主要介紹了python實現(xiàn)ModBusRTU客戶端方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python用requests模塊實現(xiàn)動態(tài)網(wǎng)頁爬蟲

    Python用requests模塊實現(xiàn)動態(tài)網(wǎng)頁爬蟲

    大家好,本篇文章主要講的是Python用requests模塊實現(xiàn)動態(tài)網(wǎng)頁爬蟲,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • 關(guān)于Python 的簡單柵格圖像邊界提取方法

    關(guān)于Python 的簡單柵格圖像邊界提取方法

    今天小編就為大家分享一篇關(guān)于Python 的簡單柵格圖像邊界提取方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • pytorch中圖像的數(shù)據(jù)格式實例

    pytorch中圖像的數(shù)據(jù)格式實例

    今天小編就為大家分享一篇pytorch中圖像的數(shù)據(jù)格式實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python openCV實現(xiàn)攝像頭獲取人臉圖片

    python openCV實現(xiàn)攝像頭獲取人臉圖片

    這篇文章主要為大家詳細(xì)介紹了python openCV實現(xiàn)攝像頭獲取人臉圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評論

青河县| 康保县| 湖口县| 金坛市| 弋阳县| 浦县| 临邑县| 美姑县| 台前县| 嘉荫县| 龙胜| 普兰县| 葫芦岛市| 蕲春县| 牙克石市| 贵定县| 阳西县| 潜江市| 枞阳县| 新宁县| 新巴尔虎右旗| 永川市| 兴安盟| 乌拉特后旗| 五莲县| 陇南市| 偏关县| 清原| 婺源县| 唐河县| 东台市| 迭部县| 景泰县| 洪湖市| 尚志市| 天峻县| 江口县| 曲麻莱县| 澄迈县| 兴化市| 桑日县|