这几天在看有关ABSA论文的代码,而代码跑出来的结果除了有输出loss的值以外还有一个acc的值和一个F1的值。查看了网上对于一些博客以后,对于模型的这三个评价指标有了一个新的认识,因此在这里我写出了自己的认识。

1.混淆矩阵

提到召回率,准确率,精确率和F1值,我就不得不提一下什么叫做混淆矩阵。

混淆矩阵说简单一点就是一个矩阵。一个什么样的矩阵呢?一个关于预测值和真实值得一个矩阵。

(Tips:为了方便理解,下面会以一个二分类问题作为讲解)

这个句子的情感是不是积极的实际值(1:积极,0:不积极)预测结果是否正确
你是sb啊!01×
你是sb吧!00
你是sb吗?00
你真棒啊!11
你真棒棒!11
你可真棒!10×

可以上面是一个关于句子情感的二分类的一个表格。第一列我们可以看到一共有6条句子,第二列则是6条句子所对应的情感,3条句子具有否定的情感,3条句子具有肯定的情感。第三列则是机器对于6条句子情感的判断,最后一列则是判断的正确与否。因此通过上述表格我们便可以做出一个相应的混淆矩阵。

实际:正实际:负
预测:正21
预测:负12

我们可以看到:

在表格中对应“预测:正,实际:正”的值为2,它所对应到的句子是“你真棒啊!”和“你真棒棒”这两句,故值为2。

在表格中对应“预测:正,实际:负”的值为1,它所对应到的句子是“你是sb啊!”这一句,故值为1。

在表格中对应“预测:负,实际:正”的值为1,它所对应到的句子是“你可真棒!”这一句,故值为1。

在表格中对应“预测:负,实际:负”的值为2,它所对应到的句子是“你是sb吧!”和“你是sb吗?”这两句,故值为2。

介绍完混淆矩阵后,这里我们还需要介绍另一个概念——TP,FP,TN,FN的概念。

TP:True Positive        FP:False Positive        TN:True Negative        FN:False Negative

Tips:这里的True和False指的是机器预测的正确与否。Positive和Negative指的是机器的预测。

2.召回率(rec)

召回率也叫查全率,旨在找到实际为正的样本中多少被预测为正。

公式:

拿上面的举例来说,这里TP为2,FN为1,所以p=2/(1+2)

3.准确率(acc)

旨在知道总样本中预测对的概率。

公式:

 拿上面的举例来说,这里TP为2,TN为2,所以p=(2+2)/6

4.精确率

精确率又叫查准率,旨在预测为正的样本中时间为正的有多少。

公式:

 拿上面的举例来说,这里TP为2,FP为1,所以p=2/(1+2)

5.F1值

F1是为了既能体现精确率又能体现召回率的一个评价指标。

公式:

拿上面的举例来说,F1=2/3

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐