Python ROC曲线的值跨越1:1比率线是否正常/可接受?

Python ROC曲线的值跨越1:1比率线是否正常/可接受?,python,plot,roc,Python,Plot,Roc,我正在绘制一条接收器工作特性(ROC)曲线,但有些值超过了1:1的比率线。我认为这是不可能的,但我现在不确定,因为我相信我的代码是正确的 我已经绘制了ROC曲线并完成了代码 def perf_measure(exval, thval): y_true = [0] * len(thval) y_pred = [0] * len(thval) for i in range(len(thval)): if abs(exval[i] - thval[i]) &

我正在绘制一条接收器工作特性(ROC)曲线,但有些值超过了1:1的比率线。我认为这是不可能的,但我现在不确定,因为我相信我的代码是正确的

我已经绘制了ROC曲线并完成了代码

def perf_measure(exval, thval):
    y_true = [0] * len(thval)
    y_pred = [0] * len(thval)

    for i in range(len(thval)): 
        if abs(exval[i] - thval[i]) <= 0.5:
           y_true[i] = 1
           y_pred[i] = 0
        elif abs(exval[i] - thval[i]) > 0.5:
           y_true[i] = 0
           y_pred[i] = 1

    X_train, X_test, y_train, y_test = train_test_split(np.array(thval), np.array(y_pred), test_size=0.5, random_state=1)

    X_train = np.array(X_train).reshape((len(X_train), 1))
    X_test = np.array(X_test).reshape((len(X_test), 1))
    lab_enc = preprocessing.LabelEncoder()
    y_train = lab_enc.fit_transform(np.array(y_train).astype('int'))
    logmodel = LogisticRegression(solver='lbfgs', multi_class='auto')
    logmodel.fit(X_train, y_train)
    probs = logmodel.predict_proba(X_test)
    preds = probs[:,1]

    fpr, tpr, th = roc_curve(y_test, preds)
    auc = roc_auc_score(y_test, preds)
    auc = round(auc, 2)

    return(fpr, tpr, auc)
def性能测量值(exval,thval):
y_true=[0]*len(thval)
y_pred=[0]*len(thval)
对于范围内的i(len(thval)):
如果abs(exval[i]-thval[i])0.5:
y_真[i]=0
y_pred[i]=1
X_序列,X_测试,y_序列,y_测试=序列测试分割(np.数组(thval),np.数组(y_pred),测试大小=0.5,随机状态=1)
X_列=np.数组(X_列).重塑((len(X_列),1))
X_测试=np.数组(X_测试).重塑((len(X_测试),1))
lab_enc=preprocessing.LabelEncoder()
y_train=lab_enc.fit_变换(np.array(y_train.astype('int'))
logmodel=LogisticRegression(解算器='lbfgs',multi_class='auto')
logmodel.fit(X_系列、y_系列)
probs=对数模型。预测概率(X检验)
preds=probs[:,1]
fpr,tpr,th=roc_曲线(y_测试,preds)
auc=roc_auc_得分(y_检验,preds)
auc=圆形(auc,2)
返回(fpr、tpr、auc)
代码应该正确输出ROC,除非我弄糟了什么?exval是可接受的值。thval是理论值。两者都作为1倍长度(thval)的尺寸列表输入


我想知道的主要问题是情节是否可以接受。如果不是,我的代码有问题吗?

第一个问题,所以我没有声誉。这是图片:不是不可能,但我能找到的每一个ROC曲线的例子都只有这条线以上的值。这是因为人们不想让你看到其他的,不是因为它们不存在。第一个问题,所以没有声誉。这是图片:不是不可能,但我能找到的每一个ROC曲线的例子都只有这条线以上的值。这是因为人们不想让你看到其他的,不是因为它们不存在。