Можем ли мы объединить fastText вместе с SVM?

Я пытаюсь объединить три разные модели (FastText, SVM, NaiveBayes).

Я думал об использовании Python для этого. Я уверен, что мы можем объединить NaiveBayes, а также модели SVM. Но можем ли мы объединить fastText, используя python?

Может кто-нибудь, пожалуйста, предложите мне относительно того же...

1 ответ

Подход, который вы можете применять для объединения нескольких моделей, не связан с тем, как вы собираетесь реализовать его в Python/Java/R.

Возможно, вы ищете ансамблевое обучение.

Одним из наиболее популярных подходов к созданию множества различных моделей является стекирование, которое включает в себя изучение новой модели, объединяющей предсказания отдельных моделей, которые вы уже обучили. Посмотрите этот урок, который использует Python.

В вашем случае использования вы можете иметь дело с 3 моделями, вы должны иметь в виду, что:

  • Модели имеют различную механику, чтобы использовать predict() метод:

    • FastText использует внутренний файл (сериализованная модель с .bin расширение, например) со всеми вложениями и wordNGrams и вы можете передать необработанный текст напрямую;

    • SVM а также NaiveBayes Вы обязаны предварительно обработать данные, используя CountVectorizer, TfidfVectorizerLabelEncoder, получите результат, отзовитесь за LabelEncoder и доставить результат.

    • В конце вам понадобится иметь дело с разными вероятностями (если вы k > 1) и, вероятно, вам нужно позаботиться об этом

  • Если вы собираетесь сериализовать его в производство, вам нужно будет SVM а также NB модели и использование .bin за FastText model и, конечно, вложения из прежних тоже должны быть созданы. Это может быть небольшой болью в вашем времени отклика, если вам нужно прогнозировать почти в реальном времени.

Другие вопросы по тегам