【问题标题】:Is there a way to evaluate losses on the test sample using spacy model有没有办法使用 spacy 模型来评估测试样本的损失
【发布时间】:2019-10-24 06:32:47
【问题描述】:

我正在尝试使用 spacy 2.1.3 创建一个二元分类器,为了执行过拟合测试,我想评估测试样本的损失。在他们的教程中损失被用作参数并以某种方式更新:

https://github.com/explosion/spaCy/blob/master/examples/training/train_textcat.py#L90

我找不到任何关于如何在我的测试样本上对其进行评估的示例。理想情况下,我想制作如下所示的图:

https://machinelearningmastery.com/learning-curves-for-diagnosing-machine-learning-model-performance/

我尝试深入研究他们的代码,但没有发现任何有用的东西。有没有人试图制作类似的情节?

感谢您的帮助和 cmets :)

【问题讨论】:

    标签: nlp spacy text-classification loss-function


    【解决方案1】:

    变量losses 在训练循环期间被设置,参见。 https://github.com/explosion/spaCy/blob/master/spacy/pipeline/pipes.pyx#L931.

    您想要做的是,在每次迭代(epoch)之后,打印出此训练损失,但还要对保留的开发测试集执行您自己的评估。当您将训练中的模型应用于开发集时,您可以使用此处解释的平均模型参数:https://spacy.io/usage/training#tips-param-avg

    对于此开发评估,您可以实施任何您喜欢的指标,例如准确度、精确度、召回率、F 分数或类似于您一直在训练的损失函数,参见。 https://github.com/explosion/spaCy/blob/master/spacy/pipeline/pipes.pyx#L950

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-28
    • 2021-11-19
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2020-04-28
    相关资源
    最近更新 更多