【问题标题】:How to obtain an ROC Curve?如何获得 ROC 曲线?
【发布时间】:2019-06-21 21:56:34
【问题描述】:

我是 Python 新手。我需要在我的熊猫数据框中获取具有两个值的 ROC 曲线,有什么解决方案或建议吗? 我需要使用这个公式:

    x = (1-dfpercentiles['acum_0%'])
    y = (1-dfpercentiles['acum_1%'])

我尝试使用 sklearn 库和 matplotlib,但没有找到解决方案。 这是我的 DF:

    In [109]: dfpercentiles['acum_0%']
    Out[110]: 
    0     10.89
    1     22.93
    2     33.40
    3     44.83
    4     55.97
    5     67.31
    6     78.15
    7     87.52
    8     95.61
    9    100.00
    Name: acum_0%, dtype: float64

    In [111]:dfpercentiles['acum_1%']
    Out[112]: 
    0      2.06
    1      5.36
    2      8.30
    3     13.49
    4     18.98
    5     23.89
    6     29.72
    7     42.87
    8     62.31
    9    100.00
    Name: acum_1%, dtype: float64

【问题讨论】:

    标签: python pandas dataframe curve roc


    【解决方案1】:

    这似乎是一个 matplotlib 问题。

    首先,您的百分位数在 0-100 范围内,但您的调整是 1 - percentile_value,因此您需要将值重新调整为 0-1。

    我只是用pyplot.plot来生成ROC曲线

    import matplotlib.pyplot as plt
    
    plt.plot([1-(x/100) for x in [10.89, 22.93, 33.40, 44.83, 55.97, 67.31, 78.15, 87.52, 95.61, 100.00]],
             [1-(x/100) for x in [2.06, 5.36, 8.30, 13.49, 18.98, 23.89, 29.72, 42.87, 62.31, 100.0]])
    

    使用您的数据框,它将是

    plt.plot((1-(dfpercentiles['acum_0%']/100)), (1-(dfpercentiles['acum_1%']/100))
    

    【讨论】:

      猜你喜欢
      • 2018-01-04
      • 1970-01-01
      • 2012-10-10
      • 2021-05-25
      • 2018-01-03
      • 2019-12-26
      • 2013-04-27
      • 2019-02-27
      • 2014-07-20
      相关资源
      最近更新 更多