Почему OvO и OvR возвращают одинаковый результат?Python

Программы на Python
Ответить
Anonymous
 Почему OvO и OvR возвращают одинаковый результат?

Сообщение Anonymous »

Я использую функцию roc_auc_score() из scikit-learn для решения задачи многоклассовой классификации. С радужной оболочкой, которая имеет три метки (и другой набор данных), я получаю точно такой же результат, когда использую «один против одного» и «один против остальных». Кто-нибудь знает, почему это так? Вот мой код:
from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import roc_auc_score
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

iris = datasets.load_iris()
X = iris.data
y = iris.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, stratify=y, random_state=0)
clf = DecisionTreeClassifier(random_state=0)
clf = clf.fit(X_train, y_train)
y_pred = clf.predict_proba(X_test)
auc_ovr = roc_auc_score(y_test, y_pred, average='macro', multi_class='ovr')
auc_ovo = roc_auc_score(y_test, y_pred, average='macro', multi_class='ovo')
print(f'OVR: {auc_ovr}, OVO: {auc_ovo}')


Последняя строка вывода:
OVR: 0.9833333333333334, OVO: 0.9833333333333334


Подробнее здесь: https://stackoverflow.com/questions/709 ... ame-result
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»