西瓜书《机器学习》阅读笔记2——Chapter2_查准率、查全率与F1
绘制P-R曲线
这里举两个例子来说明怎么绘制P-R曲线。
假设有测试实例
现在根据学习算法A得到了模型,按其预测的为正例的可能性大小对测试样例进行排序,结果如下:
- 把
x5 预测为正例,其余预测为反例,则P=1,R=13 ,其对应的混淆矩阵如下:
预测为P | 预测为N | |
---|---|---|
真实为P | 1 | 2 |
真实为N | 0 | 3 |
- 把
x5,x2 预测为正例,其余预测为反例,则P=1,R=23 把
x5,x2,x1 预测为正例,其余预测为反例,则P=1,R=1 把
x5,x2,x1,x3 预测为正例,其余预测为反例,则P=34,R=1 把
x5,x2,x1,x3,x4 预测为正例,其余预测为反例,则P=35,R=1 把
x5,x2,x1,x3,x4,x6 预测为正例,则P=12,R=1
综上,可以画出算法A的P-R曲线:
曲线下的面积很大,可以看出学习算法A的性能是非常好的。
F1
F1的计算公式如下:
F1其实是P和R的调和平均:
更一般的形式是
其中
在
当手上有多个二分类混淆矩阵时,想考察综合查准率和查全率,有两种方式:
- macro(宏):计算每个混淆矩阵的P和R,然后取平均作为宏P和宏R
- micro(微):每个混淆矩阵对应的元素相加,得到一个新混淆矩阵,基于这个新的混淆矩阵计算出微P和微R
根据公式(1)由宏P和宏R得到宏F1,由微P和微R得到微F1。