我已经使用20域,使用MultinomialNB训练了我的分类器。
该分类器对20个经过训练的数据集运行良好。
但问题是,假设我使用20个域中的文本进行查询,即使它对文本进行了分类。我预计域外输入的概率为0。
例如
查询:"核心i7是英特尔处理器"
并且我已经使用域religion
、sports
、astronomy
来训练数据。
查询不属于这些域中的任何一个,即使它为任何域提供33%的结果。
类似的查询:"where is what",也被分类到上面的域中。
如何显示属于域外的查询的0结果?或者任何给出多大概率裕度的scikit函数都是域外的?
还有什么方法可以在查询中看到stopwords
的边距吗?
如果你训练区分3个标签,那么每个输入都会得到这三个标签中的一个。
你可以为"不能归类为宗教、体育、天文学的一切"训练一个额外的标签。
然后,您可以将该标签用作"检测到的域外"。