考慮一個二分類的情況,類別為1和0,我們將1和0分別作為正類(positive)和負類(negative),則實際分類的結果有4種,表格如下(混淆矩陣):
真實情況 預測結果
正例 反例
正例 TP(真正例) FN(假反例)
反例 FP(假正例) TN(真反例)
敏感性Sensitivity (Sen):
Sen=TP/(TP+FN)*100%
特異性 Specificity (Spe)
spe=TN/(TN+FP)*100%
在癌症示例中,敏感性和特異性指:
敏感性:在患有癌症的所有人中,診斷正確的人有多少?
特異性:在未患癌症的所有人中,診斷正確的人有多少?
代碼實現:
1.首先計算混淆矩陣
輸入:標簽數據和預測結果
輸出:混淆矩陣
from sklearn.metrics import confusion_matrix
confusion_matrix(y_true, y_pred, labels=list(set(y_true)))
2.然后根據上面的公式分別計算靈敏度和特異性