SpaCy: Нужно ли выполнять раннюю остановку при обучении модели для пользовательских объектов? - PullRequest
0 голосов
/ 14 октября 2019

Я разделил свои данные на обучение и тестирование.

https://spacy.io/usage/training#ner

В соответствии с фрагментом кода, предоставленным spacy для обучения пользовательских объектов, похоже, что ранней остановки нет,Итак, у меня есть вопрос здесь.

Должен ли я написать собственный код, который выполняет следующий набор вещей после каждой итерации: 1. Итерация завершена. 2. Проверьте точность модели по данным тестирования. 3. Если точность больше, чем у предыдущей модели, сохраните ее, иначе продолжайте. 4. Выполните следующую итерацию.

Или я получаю окончательную модель после завершения всех итераций, например, 30 итераций - лучшая модель ??

Пример вывода моего пользовательского кода: enter image description here

Согласно вышеприведенному выводу, правильно ли сказать, что лучшая модель на итерации № 13?

1 Ответ

0 голосов
/ 14 октября 2019

Вы должны переключиться на CLI поезда, который включает в себя улучшенные метрики оценки и раннюю остановку: https://spacy.io/api/cli#train

spacy convert может преобразовать множество распространенных форматов NER во внутренний формат обучения spacy, а spacy train имеетгораздо больше вариантов, чем простой пример учебного скрипта. (spacy использует spacy train для своих распространяемых моделей.)

...