兩者都是分類評估模型
F1 Score概念
基礎(chǔ)概念
- TP,True Positive
- FP昆婿,F(xiàn)alse Positive
- TN球碉,True Negative
- FN,F(xiàn)alse Negative
Metrics概念
- precision = TP / (TP + FP)
- recall = TP / (TP + FN)
- accuracy = (TP + TN) / (TP + FP + TN + FN)
- F1 Score = 2*P*R/(P+R)仓蛆,其中P和R分別為 precision 和 recall
F1 score被定義為 precision 和 recall 的調(diào)和平均數(shù)
ROC AUC 概念
基礎(chǔ)概念
- TPR = TP/(TP+FN) # 真正例率睁冬,等價于recall
- FPR = FP/(TN+FP) # 假正例率
ROC曲線的橫軸是FPR,縱軸是TPR
Questions
為什么不直接使用accuracy?
在某些問題中存在“寧可錯殺一千也不能放過一個”的問題看疙,比如疾病診斷豆拨。也就是說單獨的分類準(zhǔn)確性無法被信任以選擇表現(xiàn)良好的模型。
既然已經(jīng)這么多標(biāo)準(zhǔn)能庆,為什么還要使用ROC和AUC呢施禾?
因為ROC曲線有個很好的特性:當(dāng)測試集中的正負(fù)樣本的分布變換的時候,ROC曲線能夠保持不變搁胆。在實際的數(shù)據(jù)集中經(jīng)常會出現(xiàn)樣本類不平衡弥搞,即正負(fù)樣本比例差距較大,而且測試數(shù)據(jù)中的正負(fù)樣本也可能隨著時間變化丰涉。
分類模型評估
指標(biāo) | 描述 | Scikit-learn函數(shù) |
---|---|---|
Precision | 精準(zhǔn)度 | from sklearn.metrics import precision_score |
Recall | 召回率 | from sklearn.metrics import recall_score |
F1 | F1值 | from sklearn.metrics import f1_score |
Confusion Matrix | 混淆矩陣 | from sklearn.metrics import confusion_matrix |
ROC | ROC曲線 | from sklearn.metrics import roc |
AUC | ROC曲線下的面積 | from sklearn.metrics import auc |
回歸模型評估
指標(biāo) | 描述 | Scikit-learn函數(shù) |
---|---|---|
Mean Square Error (MSE, RMSE) | 平均方差 | from sklearn.metrics import mean_squared_error |
Absolute Error (MAE, RAE) | 絕對誤差 | from sklearn.metrics import mean_absolute_error, median_absolute_error |
R-Squared | R平方值 | from sklearn.metrics import r2_score |