keras.metrics中的accuracy
keras.metrics有六種accuracy,其使用的場景如下:
-
accuracy
真實標簽和模型預測均為標量,如真實標簽為[0,1,1,0,2,0],模型輸出的預測為[0,2,1,1,2,0],此時accuracy=4/6
-
categorical_accuracy
???????真實標簽為onehot標簽,模型預測為向量形式。如真實標簽為[[0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0]],模型預測為[[0.1, 0.6, 0.3], [0.2, 0.7, 0.1], [0.3, 0.6, 0.1], [0.9, 0, 0.1]],此時keras會自動將向量形式的標簽轉換為標量形式,例如將上面那個真實標簽轉換為[2, 1, 1, 0],將模型預測轉換為[1, 1, 1, 0],然后再第一種accuracy計算方法。
-
sparse_categorical_accuracy
???????適用場景是真實標簽為標量形式,模型預測為向量形式。如真實標簽為[2, 1, 1, 0],模型預測為[[0.1, 0.6, 0.3], [0.2, 0.7, 0.1], [0.3, 0.6, 0.1], [0.9, 0, 0.1]]。此時keras會自動將模型預測轉換為標量形式,即將模型預測轉換為[1, 1, 1, 0],然后再第一種accuracy計算方法。
-
binary_accuracy
???????適用于二分類情況。真實標簽為標量,如[2, 1, 1, 0],模型預測為標量概率,如[0.6,0.7,0.6,0.9]。該方法有一個threshold參數,該參數默認為0.5。預測概率大于threshold的設為1,小于等于threshold的設為0。所以模型預測會由[0.6,0.7,0.6,0.9]轉換為[1,1,1,1],然后再第一種accuracy計算方法。
-
top_k_categorical_accuracy
???????categorical_accuracy(第二種)將模型預測轉為標量標簽的原理是選取預測向量中的最大值所在索引位置作為預測標簽,比如將[[0.1, 0.6, 0.3], [0.2, 0.7, 0.1], [0.3, 0.6, 0.1], [0.9, 0, 0.1]]轉換為[1, 1, 1, 0],而top_k_categorical_accuracy將模型預測轉為標量標簽的原理是選取預測向量中的最大的k個值所在索引位置作為預測標簽,比如當k=2時,將[[0.1, 0.6, 0.3], [0.2, 0.7, 0.1], [0.3, 0.6, 0.1], [0.9, 0, 0.1]]轉換為[[1,2], [0,1], [0,1], [0,2]],只要真實標簽在預測標簽內,即算預測正確。
- sparse_top_k_categorical_accuracy
???????和top_k_categorical_accuracy功能一樣,但此時真實標簽為標量形式。
總結
以上是生活随笔為你收集整理的keras.metrics中的accuracy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word修改公式中的部分字体
- 下一篇: MATLAB imshow之后在四周加上