Чтобы построить несколько кривых ROC в Python, вы можете использовать различные библиотеки, такие как Matplotlib, Scikit-learn и Seaborn. Вот пример использования Matplotlib и Scikit-learn:
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, auc
# Example data for two classifiers
y_true = [0, 1, 0, 1, 0, 1]
y_scores_clf1 = [0.2, 0.8, 0.3, 0.6, 0.1, 0.9]
y_scores_clf2 = [0.3, 0.6, 0.4, 0.7, 0.2, 0.8]
# Calculate ROC curve and AUC for each classifier
fpr_clf1, tpr_clf1, _ = roc_curve(y_true, y_scores_clf1)
roc_auc_clf1 = auc(fpr_clf1, tpr_clf1)
fpr_clf2, tpr_clf2, _ = roc_curve(y_true, y_scores_clf2)
roc_auc_clf2 = auc(fpr_clf2, tpr_clf2)
# Plot ROC curves
plt.plot(fpr_clf1, tpr_clf1, label='Classifier 1 (AUC = %0.2f)' % roc_auc_clf1)
plt.plot(fpr_clf2, tpr_clf2, label='Classifier 2 (AUC = %0.2f)' % roc_auc_clf2)
plt.plot([0, 1], [0, 1], 'k--') # Diagonal line
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic (ROC) Curves')
plt.legend(loc='lower right')
plt.grid(True)
plt.show()
В этом примере у нас есть два классификатора, и мы вычисляем кривую ROC и AUC (площадь под кривой) для каждого классификатора, используя функции roc_curveи aucиз Scikit-учись. Затем мы строим кривые ROC, используя Matplotlib.