Python 如何在sklearn.metrics中为函数precision_recall_curve和roc_curve获得相同的阈值

Python 如何在sklearn.metrics中为函数precision_recall_curve和roc_curve获得相同的阈值,python,scikit-learn,roc,precision-recall,Python,Scikit Learn,Roc,Precision Recall,我需要用TPR和FPR值以及精度和召回率制作一个表格。我正在使用python中sklearn.metrics包中的roc_曲线和precision_recall_曲线函数。我的问题是,每个函数都为阈值提供不同的向量,我只需要一个向量,就可以将值合并为单个表中的列。有人能帮我吗 提前感谢阈值有两个主要区别 订单不同roc_曲线的阈值顺序递减,而精确性_召回_曲线的阈值顺序递增 数字是不同的。在roc\u曲线中,n\u阈值=len(np.unique(probas\u pred)),而在precis

我需要用TPR和FPR值以及精度和召回率制作一个表格。我正在使用python中sklearn.metrics包中的roc_曲线和precision_recall_曲线函数。我的问题是,每个函数都为阈值提供不同的向量,我只需要一个向量,就可以将值合并为单个表中的列。有人能帮我吗


提前感谢

阈值有两个主要区别

  • 订单不同<代码>roc_曲线的阈值顺序递减,而
    精确性_召回_曲线
    的阈值顺序递增

  • 数字是不同的。在
    roc\u曲线中,
    n\u阈值=len(np.unique(probas\u pred))
    ,而在
    precision\u recall\u曲线中,
    n\u阈值=len(np.unique(probas\u pred))-1。在后者中,不包括
    roc_曲线
    中的最小阈值。同时,最后的精度和召回率值为1。和0。分别没有相应的阈值。因此,tpr、fpr、精密度和召回率的项目数是相同的

  • 那么,回到你的问题上来,如何制作一个包含tpr、fpr、精度和召回率的表格,以及相应的阈值?以下是步骤:

  • 放弃最后的精度和召回值
  • 反转精度和召回值
  • 根据
    roc_曲线的阈值计算对应于最低阈值的精度和召回值
  • 将所有值放入同一个表中

  • 我认为他们应该给你同样的价值观,对吗?否则,您可以始终插入。。。。