亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

精度分數與指標公式不匹配

精度分數與指標公式不匹配

慕容708150 2021-09-28 20:42:25
如何根據此混淆矩陣手動計算分數?在這種情況下,精度分數應該是多少?tp / (tp + fp) 轉換為 99% (102 / 103)。對?但準確率只有98.36%。如果以下分數正確,為什么精度分數不匹配?(準確率正確率為 94.73% (162/171)我從以下地方得到了這個例子:https://towardsdatascience.com/grid-search-for-model-tuning-3319b259367e更新:如果我想獲得如圖所示的輸出,標簽順序應該是什么?
查看完整描述

2 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

問題是,是,TP和FP在你的困惑矩陣交換。


如本二元分類示例中所述,標簽解釋如下:


真陰性 expected=0, predicted=0


真陽性 expected=1, predicted=1


假陰性 expected=1, predicted=0


假陽性 expected=0, predicted=1


對于您的示例,這將是:


##              TN       TP       FN       FP

expected =  [0]*102 + [1]*60 + [1]*8 + [0]*1

predicted = [0]*102 + [1]*60 + [0]*8 + [1]*1 


print ("precision " + '{:.16f}'.format(precision_score(expected, predicted)))

print ("recall    " + '{:.16f}'.format(recall_score(expected, predicted)))

print ("accuracy  " + '{:.16f}'.format(accuracy_score(expected, predicted)))


precision 0.9836065573770492

recall    0.8823529411764706

accuracy  0.9473684210526315

因此,這些措施符合預期。


該混淆矩陣是記錄在這里


根據定義,混淆矩陣等于已知在組中但預測在組中的觀察數量。因此,在二元分類中,真負數為 C 0,0,假負數為 C 1,0,真正數為 C 1,1,假正數為 C 0,1。


這導致以下結果:


results = confusion_matrix(expected, predicted)

print('TN ' ,results[0][0])

print('TP ' ,results[1][1])

print('FN ' ,results[1][0])

print('FP ' ,results[0][1])

print(results)



TN  102

TP  60

FN  8

FP  1

[[102   1]

 [  8  60]]

所以測量再次是可以的,只是混淆矩陣中的位置不是通常的TP左上角的位置。


補救方法很簡單,只需手動交換TP和TN


(results[0][0],results[1][1]) = (results[1][1],results[0][0])

print(results)


[[ 60   1]

 [  8 102]]


查看完整回答
反對 回復 2021-09-28
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

從你提到的博客中,

http://img1.sycdn.imooc.com//61530dee0001295b04650386.jpg

您可以看到真正的正數(正數通常表示為 1)是第四象限。我知道常見的混淆矩陣示例會將真陽性作為第一象限,但在博客中它是相反的。

因此,精度分數計算將是 60/61 = 0.9836。



查看完整回答
反對 回復 2021-09-28
  • 2 回答
  • 0 關注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號