如何获得ROC曲线?
How to obtain an ROC Curve?
我是 Python 的新手。我需要在我的 pandas 数据框中获取具有两个值的 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
这似乎是一个 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))
我是 Python 的新手。我需要在我的 pandas 数据框中获取具有两个值的 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
这似乎是一个 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))