我是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
答案 0 :(得分:0)
这似乎是一个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))