目錄
1.准確率(Accuracy)
准確率是指我們的模型預測正確的結果所占的比例。
正式點說,准確率的定義如下:
$Accuracy = \frac{Number of correct predictions}{Total number of predictions}$
對於二元分類,也可以根據正類別和負類別按如下方式計算准確率:
$Accuracy = \frac{TP+TN}{TP+TN+FP+FN}$
其中,TP = 真正例,TN = 真負例,FP = 假正例,FN = 假負例。
例如:該模型將 100 條流分為Tor (正類別)或no-Tor(負類別):

$Accuracy = \frac{TP+TN}{TP+TN+FP+FN}= \frac{1+90}{1+90+1+8}=0.91$
准確率為 0.91,即 91%(總共 100 個樣本中有 91 個預測正確)。
但仔細琢磨正負例的比例,顯然是不夠能說明問題的。例如,我有1000個樣本,其中910都是負例,模型只要學到將所有樣本預測為負例,准確率即可達到91%,這樣卻永遠檢測不出正例。
所以,當使用分類不平衡的數據集(比如正類別標簽和負類別標簽的數量之間存在明顯差異)時,單單准確率一項並不能反映全面情況。
在2、3部分中,我們將介紹兩個能夠更好地評估分類不平衡問題的指標:召回率和精確率。
2.召回率(Recall=TPR)
召回率表示在所有正類別樣本中,被正確識別為正類別的比例。
從數學上講,召回率的定義如下:
$Recall=\frac{TP}{TP+FN}$
讓我們來計算一下流量分類器的召回率(上面的例子):
$Recall=\frac{TP}{TP+FN} = \frac{1}{1+8} = 0.11$
該模型的召回率是 0.11,也就是說,該模型能夠正確識別出所有Tor流量的百分比是 11%。
3.精確率(Precision)
精確率表示被識別為正類別的樣本中,確實為正類別的比例。
精確率的定義如下:
$Precision=\frac{TP}{TP+FP}$
讓我們來計算一下流量分類器(上面的例子)的精確率:
$Precision=\frac{TP}{TP+FP} =\frac{1}{1+1} = 0.5$
該模型的精確率為 0.5,也就是說,該模型在預測Tor流量方面的正確率是 50%。
參考:https://developers.google.com/machine-learning/crash-course/classification/precision-and-recall?hl=zh-cn
4.召回率與精確率的關系


在信息檢索領域,召回率和精確率又被稱為查全率和查准率:
- 查全率=檢索出的相關信息量 / 系統中的相關信息總量
- 查准率=檢索出的相關信息量 / 檢索出的信息總量
由此可以理解:
- 假負例 (FN)又叫漏報
- 假正例 (FP)又叫誤報
參考:機器學習性能評估指標
5.誤報率(FPR)與漏報率(FNR)

真正例率 TPR = TP / (TP + TN)
表示,被挑出來的(預測是“正”的),且正確的(預測值=真實值)的,占總的預測正確的比率。
反正例率 FPR = FP / (FP + TN)
表示,被挑出來的(預測是“正”的),但錯誤的(預測值!=真實值)的,占總的預測錯誤的比率。
TPR越大,則表示挑出的越有可能(是正確的);FPR越大,則表示越不可能(在挑選過程中,再挑新的出來,即再挑認為是正確的出來,越有可能挑的是錯誤的)。
TNR(True Negative Rate)可以理解為所有反類中,有多少被預測成反類(反類預測正確),給出定義如下:

FNR(False Negative Rate)可以理解為所有正類中,有多少被預測成反類(反類預測錯誤),給出定義如下:

誤報率(FPR)、漏報率(FNR)
