我正在使用带有一个多类分类器“sub_grade”的逻辑回归来绘制默认频率的 ROC 图(和 AUC 计算)。假设 lcd 是一个包含初始数据的数据框。
Xtrain, Xtest, ytrain, ytest = train_test_split(X,y,test_size=0.50,random_state=123)
# Assign only sub_grade as a feature, Default as response
X = lcd['sub_grade']
y = lcd['Default']
Xtrain, Xtest, ytrain, ytest = train_test_split(X,y,test_size=0.50,random_state=123)
logreg = lm.LogisticRegression()
logreg.fit(Xtrain, ytrain)
probas = logreg.predict_proba(Xtest)
# Get classification probabilities from log reg
y_probas = logreg.predict_proba(Xtest)[:,1]
# Generate ROC Curve from ytest and y_probas
fpr, tpr, thresholds= roc_curve(ytest, y_probas)
结果 ROC 曲线是凸的,AUC 得分约为 0.35。为什么是这样?我认为 ROC 曲线根据频率对分类进行排序。结果将意味着违约率最高的类别具有最低的预测发生概率。
我是否正确解释了这一点?