1.分类问题
1.混淆矩阵
[
T
P
F
P
F
N
T
N
]
\begin{bmatrix} TP&FP\\\\ FN&TN\\\\ \end{bmatrix}
⎣⎢⎢⎡TPFNFPTN⎦⎥⎥⎤
真正率:TPR=TP/(TP+FN)
假正率:FPR=FP/(FP+TN)
假负率:FNR=FN/(FN+TP)
真负率:TNR=TN/(TN+FP)
from sklearn.metrics import confusion_matrix
2.准确率
更多应用于均衡样本中
即正确预测的例子(正与负)除以总数
accuracy=(TP+TN)/(TP+FP+FN+TN)
from sklearn.metrics import accuracy_score
3.精确率
针对正样本预测结果
precision=TP/(TP+FP)
4.召回率
在实际正样本中预测,又称查全率
recall=TP/(TP+FN)
5.F1-score
召回率与精确率的调和
F
1
=
2
P
r
e
c
i
s
i
o
n
R
e
c
a
l
l
P
r
e
c
i
s
i
o
n
+
R
e
c
a
l
l
F_1=\frac{2Precision Recall}{Precision+Recall}
F1=Precision+Recall2PrecisionRecall
6.ROC曲线
横坐标为FPR,纵坐标为TPR
ROC曲线越接近左上角,预测效果越好,同时ROC较为光滑认为没有过拟合现象
FPR,TPR,_=sklearn.metrics.roc_curve(y_test,y_pred)
7.AUC(area under curve)
应用于不均衡样本
ROC曲线下面的面积,越接近1.0,预测效果越好
8.PR曲线
横坐标Precision,纵坐标Recall
基于情况选择指标,交叉时选择平衡点f1决定
Precision,recall,_=sklearn.metrics.precision_recall_curve(y_test,y_pred)
官网链接:https://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics
待补充。。。