需要注意的是,roc_auc_score()函数中的multi_class参数决定了如何计算多分类问题的AUC。除了’ovr’(One-vs-Rest)策略外,还可以选择’multiclass’策略,但这需要模型能够直接输出每个类别的概率,而不是使用一对一或一对多策略。另外,对于某些特定的多分类问题,可能还需要考虑其他评估指标,如宏平均(macro-average)或...
本文使用sklearn的逻辑斯谛回归模型,进行鸢尾花多分类预测,对OvR与OvO多分类方法下的预测结果进行对比。
(multi_class='ovr') # 使用 One-vs-Rest 策略 model.fit(X_train, np.argmax(y_train, axis=1)) # 训练时使用argmax将独热编码转换回标签 # 预测概率 y_score = model.predict_proba(X_test) # 计算多分类 AUC 值 auc = roc_auc_score(y_test, y_score, multi_class='ovr', average='...
py in roc_auc_score(y_true, y_score, average, sample_weight, max_fpr, multi_class, labels) 564 if multi_class == "raise": 565 raise ValueError("multi_class must be in ('ovo', 'ovr')") --> 566 return _multiclass_roc_auc_score( 567 y_true, y_score, labels, multi_class, ...
因为整数/标签2在gt1中不存在,所以它会引发一个错误。换句话说,gt1 (3)中的类数不等于pr1 (4)中...
'ovr': 代表One-vs-rest。计算每个类别相对于其余类别的 AUC [3] [4]。这以与多标签情况相同的方式处理多类情况。即使average == 'macro'也对类别不平衡敏感,因为类别不平衡会影响每个 ‘rest’ 分组的组成。 'ovo': 代表One-vs-one。计算类的所有可能的成对组合的平均 AUC [5]。average == 'macro'时...
确保所有介于0和41之间(包括0和41)的整数都存在于gt中。举个简单的例子: