Python OneVSRest分类器预测概率校准
在我的多标签分类问题中,除了类预测之外,我还需要检索这些预测的置信度分数 我使用OneVSRestClassifier和Logistic回归模型作为基础分类器。在对我的训练集和测试集进行实验时,我注意到,当不使用概率校准时,大多数置信度分数在0.95-0.95范围内,奇怪的是,大约10%的分数非常接近于零(然后分类器不会预测任何标签) 我已经读到,逻辑回归应该已经得到很好的校准,所以有人能解释一下为什么可以观察到这种行为吗?我希望概率分布更为平稳。这是否意味着OneVsRestClassifier的逻辑回归组件的良好校准不再适用 我决定使用sklearn中提供的CalibratedClassifiedRCV类,但根据以下观察,我注意到一些概率显著降低。为什么几乎百分之百的信心会下降到50%左右?有人知道有没有其他方法可以帮助我衡量这些概率 无校准:Python OneVSRest分类器预测概率校准,python,machine-learning,scikit-learn,multilabel-classification,Python,Machine Learning,Scikit Learn,Multilabel Classification,在我的多标签分类问题中,除了类预测之外,我还需要检索这些预测的置信度分数 我使用OneVSRestClassifier和Logistic回归模型作为基础分类器。在对我的训练集和测试集进行实验时,我注意到,当不使用概率校准时,大多数置信度分数在0.95-0.95范围内,奇怪的是,大约10%的分数非常接近于零(然后分类器不会预测任何标签) 我已经读到,逻辑回归应该已经得到很好的校准,所以有人能解释一下为什么可以观察到这种行为吗?我希望概率分布更为平稳。这是否意味着OneVsRestClassifie
[0.99988209306050746], [0.99999511284844622], [0.99999995078223347], [0.99999989965720448], [0.99999986079273884], [0.99979651575446726], [0.99937347155943868]
等渗校准:
[0.49181127862298107], [0.62761741532720483], [0.71285392633212574], [0.74505221607398842], [0.67966429109225246], [0.47133458243199672], [0.48596255165026925]
[0.61111111111111116], [0.86111111111111116], [0.86111111111111116], [0.86111111111111116], [0.86111111111111116], [0.61111111111111116], [0.47222222222222227]
乙状结肠校准:
[0.49181127862298107], [0.62761741532720483], [0.71285392633212574], [0.74505221607398842], [0.67966429109225246], [0.47133458243199672], [0.48596255165026925]
[0.61111111111111116], [0.86111111111111116], [0.86111111111111116], [0.86111111111111116], [0.86111111111111116], [0.61111111111111116], [0.47222222222222227]
我目前使用的代码是:
#Fit the classifier
clf = LogisticRegression(C=1., solver='lbfgs')
clf = CalibratedClassifierCV(clf, method='sigmoid')
clf = OneVsRestClassifier(clf)
mlb = MultiLabelBinarizer()
mlb = mlb.fit(train_labels)
train_labels = mlb.transform(train_labels)
clf.fit(train_profiles, train_labels)
#Predict probabilities:
probas = clf.predict_proba([x_test])