一、二分類指標(biāo)
1、混淆矩陣

image.png
- 精度 (TP+TN)/(TP+TN+FP+FN)
- 準(zhǔn)確率 (TP)/(TP+FP)
- 召回率 (TP)/(TP+FN)
- f-分?jǐn)?shù) 2(precisionrecall)/(precision+recall)
- 準(zhǔn)確率-召回率曲線
- 受試者工作特征(ROC)與AUC
sklearn.metrics - from sklearn.metrics import confusion_matrix
- from sklearn.metrics import f1_score
- from sklearn.metrics import classification_report
- from sklearn.metrics import precision_recall_curve
- from sklearn.metrics import average_precision_score
- from sklearn.metrics import roc_curve
二、多分類指標(biāo)
- 精度
- 混淆矩陣
- 分類報(bào)告
對(duì)于多分類問(wèn)中的不均衡數(shù)據(jù)集,最常用的指標(biāo)就是多分類版本的 f-分?jǐn)?shù)。f-分?jǐn)?shù)背后的想法是:對(duì)每一個(gè)類別計(jì)算一個(gè)二分類 f-分?jǐn)?shù),其中該類別是正類,其他所有類別組成反類。然后,使用以下策略對(duì)這些按類別 f-分?jǐn)?shù)進(jìn)行平均:
- “宏”平均:計(jì)算未加權(quán)的按類別 f-分?jǐn)?shù)。它對(duì)所有類別給出相同的權(quán)重,無(wú)論類別中樣本量大小。
- “加權(quán)”平均:以每個(gè)類別的支持作為權(quán)重來(lái)計(jì)算按類別 f-分?jǐn)?shù)的平均值。分類報(bào)告中給出的就是這個(gè)值。
- “微”平均:計(jì)算所有類別中假正例、假反例和真正例的總數(shù),然后利用這些計(jì)數(shù)來(lái)計(jì)算準(zhǔn)確率、召回率和 f-分?jǐn)?shù)。
如果對(duì)每個(gè)樣本等同看待,那么推薦使用“微”平均 f-分?jǐn)?shù);如果你對(duì)每個(gè)類別等同看待,那么推薦使用“宏”平均 f-分?jǐn)?shù)。
from sklearn.datasets import load_digits
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import f1_score
digits=load_digits()
X_train,X_test,y_train,y_test=train_test_split(digits.data,digits.target,random_state=0)
lr=LogisticRegression()
lr.fit(X_train,y_train)
pred=lr.predict(X_test)
print('Accuracy:{:.3f}'.format(accuracy_score(y_test,pred)))
print('Confusion matarix:\n{}'.format(confusion_matrix(y_test,pred)))
print(classification_report(y_test,pred))
print('Micro average f1 score:{:.3f}'.format(f1_score(y_test,pred,average='micro')))
print('Macro average f1 score:{:.3f}'.format(f1_score(y_test,pred,average='macro')))
三、回歸指標(biāo)
R2 是評(píng)估回歸模型更直觀的指標(biāo)。