我正在尝试创建一个spacy 2.1.3的二进制分类器,为了执行过拟合测试,我想评估测试样本的损失。在他们的教程中,损耗被用作参数并以某种方式进行了更新:
https://github.com/explosion/spaCy/blob/master/examples/training/train_textcat.py#L90
我在测试样本上找不到如何评估它的任何示例。理想情况下,我想生成如下所示的图:
我试图深入研究他们的代码,但没有发现任何有用的东西。有没有人试图产生类似的情节?
谢谢您的帮助和评论:)
答案 0 :(得分:0)
在训练循环中设置变量losses
,请参见。 https://github.com/explosion/spaCy/blob/master/spacy/pipeline/pipes.pyx#L931。
您想要做的是,在每次迭代(历时)之后,打印出训练损失,而且还要对保留的开发人员测试集执行自己的评估。将训练中的模型应用于开发集时,可以使用平均模型参数,如下所示:https://spacy.io/usage/training#tips-param-avg。
对于此开发人员评估,您可以实施任意喜欢的度量标准,例如准确性,精度,召回率,F得分或类似于您正在接受的损失函数(参见cf)。 https://github.com/explosion/spaCy/blob/master/spacy/pipeline/pipes.pyx#L950。