python不同曲线设置标签_Python-sklearn-rocac曲线只有一个特征和不同的阈值

我在这个领域比较新,现在有点困惑。。。我将解释:我的数据中有一些元素,每个元素的值介于0和1之间,并且有一个相关的标签(1,0)。我需要测试一些阈值,例如当阈值为0.4时,所有值>0.4将被预测为true(1),而所有值<0.4将被预测为false(0)。我想我不需要机器学习分类器,因为根据我选择的阈值,我已经知道为每个元素分配了哪个标签。在

这就是我到现在为止所做的:prediction = []

for row in range(dfAggr.shape[0]):

if dfAggr['value'].values[row] >= threshold:

prediction.append(1)

else

prediction.append(0)

label = dfAggr['truth'].values.astype(int)

#ROC CURVE

fpr, tpr, thresholds = roc_curve(label, prediction)

roc_auc = auc(fpr, tpr)

plt.plot(fpr, tpr, lw=1, label='ROC (area = %0.2f)' % (roc_auc))

plt.plot([0, 1], [0, 1], '--', color=(0.6, 0.6, 0.6), label='Luck')

plt.xlim([-0.05, 1.05])

plt.ylim([-0.05, 1.05])

plt.grid()

plt.xlabel('False Positive Rate')

plt.ylabel('True Positive Rate')

plt.title('Receiver Operating Characteristic')

plt.legend(loc="lower right")

plt.savefig("rocauc.pdf", format="pdf")

plt.show()

我得到了这个情节:

Dcx5j.png

我认为这个图是非常错误的,因为我想要一个ROC曲线,通过测试0到1之间的每个可能的阈值来得到最佳的截止值。在

我所做的在概念上是错误的吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值