Precision Recall and FScore.
数学定义
假设我们手上有60个正样本,40个负样本
我们要找出所有的正样本,系统查找出50个,其中只有40个是真正的正样本,计算上述各指标。
1 | 样本: 60正 40负 |
- TP: 将正类预测为正类数 40
- FN: 将正类预测为负类数 20
- FP: 将负类预测为正类数 10
- TN: 将负类预测为负类数 30
精确率(Accuracy):预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%
准确率(Precision):TP/(TP+FP) = 80%
召回率(Recall):TP/(TP+FN) = 2/3 = 66%
F1 Score:(最大值为1 最小值为0 值越大效果越好)
sklearn.metrics.f1_score()
1 | >>> from sklearn.metrics import f1_score |
0 | 1 | 2 | Sum | Tips | |
---|---|---|---|---|---|
TP | 2 | 0 | 0 | 2 | x识别为x |
FP | 1 | 2 | 1 | 4 | 非x识别为x |
FN | 0 | 2 | 2 | 4 | x识别为非x |
TN | 3 | 2 | 3 | 8 | 非x识别为非x |
1 | 'mincro': 使用总和计算 |
Reference:sklearn.metrics.f1_score