fasttext train_supervised model:获取top预测标签



我使用fasttext train_supervised实用程序根据他们的网页https://fasttext.cc/docs/en/supervised-tutorial.html训练一个分类模型。

model = fasttext.train_supervised(input='train.txt', autotuneValidationFile='validation.txt', autotuneDuration=600)

在我得到模型之后,我怎么能像在sklearn中那样在一组最佳参数训练后探索模型的最佳参数呢?我们总是可以检查这些参数的值,但我找不到任何文档来解释这一点。

我还使用这个训练过的模型对我的数据进行预测

model.predict(test_df.iloc[2, 1])

它将以如下的概率返回标签

(('__label__2',), array([0.92334366]))

我想知道如果我有5个标签,每次进行预测时,每个文本是否有可能获得每个标签的所有概率?与上面的test_df文本一样,比如

model.predict(test_df.iloc[2, 1])
(('__label__2',), array([0.92334366])),(('__label__1',), array([0.82334366])),
(('__label__3',), array([0.52333333])),(('__label__0',), array([0.07000000])),
(('__label__4',), array([0.00002000]))

可以找到任何相关的改变来得到这样的预测结果。任何建议吗?谢谢。

正如您在文档中看到的那样,当使用predict方法时,您应该指定k参数以获得top-k预测类。

model.predict("Why not put knives in the dishwasher?", k=5)

输出:

((u'__label__food-safety', u'__label__baking', u'__label__equipment',
u'__label__substitutions', u'__label__bread'), array([0.0857 , 0.0657,
0.0454, 0.0333, 0.0333]))

相关内容

  • 没有找到相关文章

最新更新