我运行了逻辑回归模型,并对logit值进行了预测.我用它来获得ROC曲线上的点数:
from sklearn import metrics
fpr, tpr, thresholds = metrics.roc_curve(Y_test,p)
我知道metrics.roc_auc_score给出了ROC曲线下的面积.谁能告诉我什么命令会找到最佳截止点(阈值)?
解决方法:
虽然回答很晚,但思想可能会有所帮助.您可以使用R (here!)中的epi软件包来完成此操作,但是我在python中找不到类似的软件包或示例.
最佳截止点是真阳性率高且误报率低的地方.基于这个逻辑,我在下面举了一个例子来找到最佳阈值.
Python代码:
import pandas as pd
import statsmodels.api as sm
import pylab as pl
import numpy as np
from sklearn.metrics import roc_curve, auc
# read the data in
df = pd.read_csv("http://www.ats.ucla.edu/stat/data/binary.csv")
# rename the 'rank' column because there is also a DataFrame method called 'rank'
df.columns = ["admit", "gre", "gpa", "prestige"]
# dummify rank
dummy_ranks = pd.get_dummies(df[