python如何画auc
原创绘制AUC曲线:Python中的实用指南
AUC(Area Under the Curve)是衡量模型分类性能的重要指标,在Python中,我们可以使用matplotlib和scikit-learn库来绘制AUC曲线,以下是一个简单的步骤说明:
1、我们需要安装必要的库,你可以使用pip来安装matplotlib和scikit-learn。
pip install matplotlib scikit-learn
2、我们将导入必要的库并加载数据,在这个例子中,我们将使用scikit-learn内置的乳腺癌数据集。
from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import roc_auc_score, roc_curve import matplotlib.pyplot as plt 加载数据 cancer = datasets.load_breast_cancer() X, y = cancer.data, cancer.target 划分数据集为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
3、我们将使用LogisticRegression模型进行训练,并计算预测结果的AUC。
创建并训练模型 model = LogisticRegression() model.fit(X_train, y_train) 预测概率 y_pred_prob = model.predict_proba(X_test)[:, 1] 计算AUC auc = roc_auc_score(y_test, y_pred_prob) print(f'AUC: {auc:.2f}')
4、我们将绘制ROC曲线和AUC曲线。
计算ROC曲线 fpr, tpr = roc_curve(y_test, y_pred_prob) 绘制ROC曲线 plt.figure() plt.plot(fpr, tpr, label=f'AUC = {auc:.2f}') plt.plot([0, 1], [0, 1], 'k--') # 随机猜测线 plt.xlim([0, 1]) plt.ylim([0, 1]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('Receiver Operating Characteristic') plt.legend(loc='lower right') plt.show()
步骤可以帮助你在Python中绘制AUC曲线,通过调整模型参数和加载不同的数据集,你可以进一步探索和优化AUC值。
上一篇:python如何增加列名 下一篇:如何python搭建博客