绘制roc曲线的代码
时间: 2024-10-15 19:21:56 浏览: 5
绘制ROC(Receiver Operating Characteristic,接收者操作特征)曲线通常是在机器学习模型评估分类性能时使用的。这里是一个简单的Python代码示例,使用Scikit-Learn库来展示如何从预测结果绘制ROC曲线:
```python
# 导入必要的库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
# 加载数据集(假设是鸢尾花数据集)
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.5, random_state=42)
# 训练模型
model = LogisticRegression()
model.fit(X_train, y_train)
# 预测并计算概率
y_scores = model.predict_proba(X_test)[:, 1] # 对于二分类问题,取正类的概率
# ROC曲线所需的数据
fpr, tpr, _ = roc_curve(y_test, y_scores)
roc_auc = auc(fpr, tpr)
# 绘制ROC曲线
plt.figure()
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], 'k--', lw=2)
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()