【问题标题】:Can we ensemble fastText along with SVM?我们可以将 fastText 与 SVM 一起集成吗?
【发布时间】:2019-03-20 17:32:25
【问题描述】:

我正在尝试集成三种不同的模型(FastText、SVM、NaiveBayes)。

我想用 python 来做这件事。我确信我们可以集成 NaiveBayes 以及 SVM 模型。但是,我们可以使用 python 集成 fastText 吗?

任何人都可以就相同的问题向我提出建议...

【问题讨论】:

  • “合奏”对您意味着什么?
  • @coldspeed 如果我理解正确,OP 想要结合这些模型的输出来创建一个新模型(堆叠)。
  • @AkshayNevrekar 是的.. 我打算结合这些模型的输出来创建一个新模型

标签: python machine-learning scikit-learn ensemble-learning


【解决方案1】:

您可以应用的组合多个模型的方法与您将在 Python/Java/R 中实现它的方式无关。

也许您正在寻找的是Ensemble learning

实现不同模型集成的最流行方法之一是堆叠,它涉及学习一个新模型,了解如何组合您已经训练的各个模型的预测。请参阅使用 Python 的 this 教程。

【讨论】:

  • 非常感谢您的建议。提出我的问题,我们可以在集成学习中使用快速文本算法吗?
【解决方案2】:

在您的用例中您可以在处理 3 个模型时,您应该记住:

  • 模型有不同的机制来使用predict() 方法:

    • FastText 使用带有所有嵌入和wordNGrams 的内部文件(例如带有.bin 扩展名的序列化模型),您可以直接传递原始文本;

    • SVMNaiveBayes 你有义务使用CountVectorizerTfidfVectorizerLabelEncoder 预处理数据,得到结果,重新传递LabelEncoder 并传递结果。

    • 您最终需要处理不同的概率(如果您使用 k > 1 进行预测),您可能需要注意这一点

  • 如果您要将其序列化到生产环境中,您需要腌制 SVMNB 模型,并使用 .bin 代替 FastText model,当然前一个模型的嵌入需要也被实例化。如果您需要近乎实时地进行预测,这可能会影响您的响应时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多