AI模型精準度TP、FN、FP、TN的計算方法

定義:

真實預測正例反例正例TPFN反例FPTN

真實分類:A,B,C。每類20個樣本。按照下面格式統計下數值,根據定義,可以 填充A,B,C的tp、fn、fp、tn值。

AI模型精準度TP、FN、FP、TN的計算方法

準確率對於給定的測試數據集
分類器正確分類的樣本數與總樣本數之比Accuracy=(TP+TN)/(FN+FP+TN+TP) 精確率/查准率預測為正的樣本中有多少是真正的正樣本
它是針對我們預測結果而言的Precision=TP/(TP+FP) 召回率/檢出率/查全率樣本中正例有多少被預測正確了
它是針對我們原來的樣本而言的Recall=TP/(TP+FN) 過殺率當原樣本是正常,但檢測結果是異常,則為過殺
被過殺的樣本數佔測試集中的正常樣本數的比例Over Kill=FN/(TP+FN) 漏殺率當原樣本是異常,但檢測結果是正常,則為漏殺
被漏殺的樣本數佔測試集中的異常樣本數的比例Miss Kill=FP/(FP+TN) F1得分是查准率(Precision)和查全率(Recall)的調和平均數
F1-score的核心思想是盡可能提高Precision和Recall
使兩者之間的差異盡可能小F1-score=2PrecisionRecall/(Precision+Recall)

下面是整理的一個python腳本。

import numpy as np

1-混淆矩阵
confusion_matrix = np.array(
[[19,  0,  1],
 [ 1, 18,  1],
 [ 8, 1,  11]])

2-TP/TN/FP/FN的计算
np.diag 输出三维矩阵的对角线元素 对角线上的值 就是 预测正例实际正例的TP
TP = np.diag(confusion_matrix )
numpy.sum(axis=1) 每一行加总输出个 一维矩阵  然后减去TP值  按照定义,就是 FN   预测为负例实际为正例的值
FN = confusion_matrix .sum(axis=1) - np.diag(confusion_matrix )
#numpy.sum(axis=0)每一列加总输出一个以为矩阵  然后减去TP值  按照定义,就是 FP  预测为正例,实际为负例的值
FP = confusion_matrix .sum(axis=0) - np.diag(confusion_matrix )
sumpy.sum() 多为矩阵多有元素的和 ,减去TP,FN,FP就是TN的值
TN = confusion_matrix .sum() - (FP + FN + TP)

TP = TP.astype(float)
FN = FN.astype(float)
FP = FP.astype(float)
TN = TN.astype(float)

print(TP)
print(FN)
print(FP)
print(TN)

3-其他的性能参数的计算   因为是numpy类型的数组   所以可以直接多个数组之间的元素进行  对应计算
Accuracy=(TP+TN)/(FN+FP+TN+TP)
Recall=TP/(TP+FN)
Precision=TP/(TP+FP)
Over_Kill=FN/(TP+FN)
Miss_Kill=FP/(FP+TN)
F1_score=2*Precision*Recall/(Precision+Recall)
print(Accuracy)
print(Recall)
print(Precision)
print(Over_Kill)
print(Miss_Kill)
print(F1_score)

""" TPR = TP/(TP+FN) # Sensitivity/ hit rate/ recall/ true positive rate
TNR = TN/(TN+FP) # Specificity/ true negative rate
PPV = TP/(TP+FP) # Precision/ positive predictive value
NPV = TN/(TN+FN) # Negative predictive value
FPR = FP/(FP+TN) # Fall out/ false positive rate
FNR = FN/(TP+FN) # False negative rate
FDR = FP/(TP+FP) # False discovery rate
ACC = TP/(TP+FN) # accuracy of each class """
""" print(TPR)
print(TNR)
print(PPV)
print(NPV)
print(FPR)
print(FNR)
print(FDR)
print(ACC) """

Original: https://blog.csdn.net/VolcanoCome/article/details/125865925
Author: VolcanoCome
Title: AI模型精準度TP、FN、FP、TN的計算方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/758730/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球