如何使用scikit-learn评估预测的置信度得分

7

我编写了一段简单的代码,它接受一个参数“query_seq”,进一步计算描述符,最后可以使用“LogisticRegression”(或任何其他在函数中提供的算法)算法进行预测,结果可能是“0(对于给定情况为负)”或“1(对于给定情况为正)”

def main_process(query_Seq):
    LR = LogisticRegression()
    GNB = GaussianNB()
    KNB = KNeighborsClassifier()
    DT = DecisionTreeClassifier()
    SV = SVC(probability=True)

    train_x, train_y,train_l = data_gen(p) 
    a  = DC_CLASS()
    test_x = a.main_p(query_Seq)
    return Prediction(train_x, train_y, test_x,LR)

在我们执行交叉验证时,我们计算了一个算法的不同统计参数以进行准确度估计(特异性、敏感性、mmc等)。现在我的问题是,在scikit-learn中是否有任何方法可以估计测试数据预测的置信度得分。


1
查找方法predict_proba。 - 404pio
1个回答

8
许多分类器可以通过调用predict_proba而不是predict方法来给出对于某个预测的自信度提示。阅读此方法的docstring以了解它返回的numpy数组的内容。
但请注意,分类器在估计自己的置信水平时也可能犯错。为了解决这个问题,您可以使用外部校准过程通过保留数据(使用交叉验证循环)来校准分类器。文档将为您提供有关校准的更多详细信息: http://scikit-learn.org/stable/modules/calibration.html 最后请注意,默认情况下LogisticRegression会给出相当好的校准置信水平,大多数其他模型类需要进行外部校准才能受益。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接