如何评测CRF++结果?——以LOCATION为例
一,准确率(Accurary) 、 精确率(Precision)、召回率( Recall)、F1
准确率(Accurary) 、 精确率 (Precision)、召回率( Recall )、F1是机器学习模型性能评测中易混淆的几个概念。
样本真实值与预测值四象限图TP:样本为正,预测为正; FP:样本为负,预测为正;
FN:样本为正,预测为负; TN:样本为负,预测为负。
Accurary = ( TP + TN ) / ( TP + FP + FN + TN)
Accurary表示所有样本中分类正确的样本与总样本的比例,反映总体样本预测准确率。
Precision = TP / ( TP + FP )
Precision表示预测为正样本的样本中真正为正的比例,反映正样本预测准确率。
Recall = TP / ( TP + FN )
Recall表示模型准确预测为正样本的数量占所有正样本数量的比例,反映正样本有多少被找出来(召回)。
F1 = 2 * Precision * Recall / ( Precision + Recall )
F1是一个综合指标,是Precision和Recall的调和平均数,一般情况下,Precision和Recall是两个互斥指标,即Recall越大,Precision往往越小,所以需要通过F1测度来综合进行评估,F1越大,分类器效果越好。
Accuracy和Precision区别:
Accaracy和Precision作用相差不大,值越大,分类器效果越好,Accuracy使用前提是样本是均衡的,如果样本严重失衡了,Accuracy不再适用,只能使用Precision。
二、测评 CRF++ 的 NER 模型效果
如何使用CRF++工具?——以NER为例一文中,识别实体为TIME、PERSON、LOCATION、ORGANIZATION,每种实体采用"BMEWO"标注体系,对于位置实体对应着的分类有B_LOCATION、M_LOCATION、E_LOCATION、W_LOCATION、O五种分类标签,这里选取"B_LOCATION"分别计算准确率(Accurary) 、 精确率 (Precision)、召回率( Recall )、F1。
采用model_evaluation.py 评估模型,提取码:1my2
Input文件:testdata.txt ,提取码:exen
对‘B_LOCATION’的测评结果:
model_evaluation评测结果