我培训了IntVar
一组165个类别。
现在我已经可以用它来预测某些输入,但有时它会失败,知道如何有信心"是每个预测的分类器以及其他考虑因素。
据我了解,我使用PassiveAggressiveClassifier
decision_function
这给了我这样的距离:
distances = np.array(ppl.decision_function(sample))
现在我有两个问题: 1是否可以将距离映射回类别,因为数组的长度(159)与我的类别数组不匹配。
第2,如何使用距离计算单个预测的置信度?
答案 0 :(得分:2)
问题1
根据评论,确保所有课程都包含在培训集中。例如,您可以使用train_test_split
函数并将目标传递到stratify
参数来实现此目的。
执行此操作后,问题将消失,每个类将有一个分类器。因此,如果您将样本传递给decision_function
方法,则每个类的超平面将有一个距离。
问题2
您可以通过重新缩放和标准化(即softmax)将距离转换为概率。这已在_predict_proba_lr
方法内部实现。请参阅源代码here。