我目前正在努力绘制LinearSVC
模型的ROC曲线。由于LinearSVC
模型只能调用decision_function()
来计算y_score(与通常的predict_proba()
相反),因此我很难计算出fpr
和tpr
每个班级。尝试时
for i in range(n_classes):
fpr[i], tpr[i], _ = roc_curve(y_test[:, i], y_score[:, i])
roc_auc[i] = auc(fpr[i], tpr[i])
我得到IndexError: too many indices for array
。切换到this答案中提供的解决方案将意味着对标签进行二值化,这是我想避免的。具有线性核的普通SVC
模型不允许我为基于l1的特征选择设置l1损失,因此也应避免这种情况。
关于如何解决此问题的任何想法?