我正在研究文本分类用例。训练数据有两个类,因此 XBBoostClassifier 和 onevsrest 模型将测试数据分类到两个类中的任何一个。但我的要求是将其分类为给定的类,或者如果找不到匹配项,则将其设置为“未确定”,以便我可以手动对数据进行分类。
我尝试了以下 OneVsRest 分类器
pl = Pipeline([
('vec', CountVectorizer(token_pattern = tks)),
('clf', OneVsRestClassifier(LogisticRegression()))
])
pl.fit(x,y)
predictions = pl.predict_proba(test.comment_text)
但是概率之和为1,而且数据所属类别的概率在90以上。
请澄清以下几点 1. 为什么概率总是一?是否意味着数据是互斥的?2.概率是这样的
CLASS 1 :CLASS 2
0.892993358265023 : 0.106808845640795
0.999999742528922 : 2.57685096542208E-07
这是否意味着在第一种情况下,第 1 类的概率仅为 90%,因此分类器无法正确分类数据。但是在其他情况下,存在明显差异,因为概率约为 99%
我可以设置阈值,比如 90%,如果概率小于 90% 就得出结论,让用户手动对数据进行分类?
请提供您的意见