如何在sklearn.metrics

时间:2015-05-05 15:02:03

标签: python scikit-learn roc precision-recall

我需要制作一张包含TPR和FPR值的表格,以及精确度和召回率。我在python中使用sklearn.metrics包中的roc_curve和precision_recall_curve函数。我的问题是每个函数都为我提供了一个不同的阈值向量,我只需要一个,将值合并为一个表中的列。有谁可以帮助我?

提前致谢

1 个答案:

答案 0 :(得分:0)

阈值有两个主要差异。

  1. 订单不同。 roc_curve的阈值按递减顺序排列,而precision_recall_curve的阈值按递增顺序排列。

  2. 数字不同。在roc_curven_thresholds = len(np.unique(probas_pred))precision_recall_curve中的数字为n_thresholds = len(np.unique(probas_pred)) - 1。在后者中,不包括roc_curve的最小阈值。同时,最后的精度和召回值分别为1.和0.没有相应的阈值。因此,tpr,fpr,精度和召回的项目数是相同的。

  3. 那么,回到你的问题,如何使表格包含tpr,fpr,精度和召回以及相应的阈值?以下是步骤:

    1. 丢弃最后一次精确值和召回值
    2. 反转精确度和召回值
    3. roc_curve
    4. 的阈值计算与最低阈值对应的精度和召回值
    5. 将所有值放入同一张表中