ROC AUC(Receiver Operating Characteristic Area Under the Curve)是一种常用的评估二分类模型性能的指标。它通过绘制真正率(True Positive Rate, TPR)与假正率(False Positive Rate, FPR)之间的关系曲线,并计算该曲线下的面积来衡量模型的分类能力。
在scikit-learn库中,可以使用roc_auc_score
函数来计算ROC AUC值。以下是一个简单的示例:
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score
# 生成一个二分类数据集
X, y = make_classification(n_samples=1000, n_features=20, random_state=42)
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练一个逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)
# 在测试集上进行预测
y_pred_proba = model.predict_proba(X_test)[:, 1]
# 计算ROC AUC值
roc_auc = roc_auc_score(y_test, y_pred_proba)
print(f"ROC AUC Score: {roc_auc}")
通过上述方法,可以在sklearn中有效地计算和应用ROC AUC来评估二分类模型的性能。
领取专属 10元无门槛券
手把手带您无忧上云