【问题标题】:Fasttext ignore wrong predictions?Fasttext忽略错误的预测?
【发布时间】:2019-05-06 01:13:22
【问题描述】:

我已经训练了一个快速的文本监督模型。我确实使用了 pyfasttext python 库来预测模型。 例如:我有这样的数据。

text - label

The meeting is planned - event
The work should be finished - task

在这里,模型正确地预测了标签。当计划或工作词出现在句子中时。但是我列出了与训练数据无关的句子。 例如:狗是动物

res = model.predict_proba_single('the dog is an animal\n')

输出:

[(u'event', 0.49999999904767284)]

输出概率应为 0 或无标签。因为句子与所有标签都不相关。标签是多类的。我只举了两个例子。

同样的事情也发生在 scikit SGD 分类器中。

如何防止这种错误预测?

【问题讨论】:

  • 我认为你只需要更有意义的训练数据
  • 是的。我应该。但是,在实时我们可能不知道什么会进入我们的预测数据集中......!

标签: python scikit-learn fasttext


【解决方案1】:

您可以忽略小于阈值 0.5 的预测输出,例如 (50%),通过这样做,您可以提取相关预测或打印 0 或不打印其他不相关情况的标签, 希望有帮助

【讨论】:

  • 它不工作。我得到了各种 % 这还有其他方法吗?
  • @GiriAnnamalaiM 你能详细说明你的问题吗?您的模型在测试集上的准确性是多少?如果您的模型过拟合或欠拟合,则需要更多数据或使用更复杂的模型
  • 不,我有两个标签,并且训练数据集的数量相同。准确率超过测试集 94% 过度拟合意味着其中一个标签的计数高于另一个正确?
  • 没有过度拟合意味着您的模型不能很好地概括看不见的数据,但是如果您的数据平衡良好,这意味着您的两个类之间的示例数量非常接近,那么您的模型应该在看不见的数据上表现良好数据,以防万一您也在测试集上训练了模型,如果不是这种情况,我认为如果您忽略任何小于预定义阈值的预测输出,我的答案应该有效
猜你喜欢
  • 2011-01-15
  • 2019-11-19
  • 1970-01-01
  • 2018-10-26
  • 2017-11-01
  • 1970-01-01
  • 2018-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多