绘制roc曲线就好,写代码直接用
时间: 2024-09-23 16:16:03 浏览: 28
R语言绘制SCI科研ROC曲线源代码.zip
要绘制ROC曲线,你需要先从模型预测结果中得到真阳性率(TPR, True Positive Rate)和假阳性率(FPR, False Positive Rate),然后使用sklearn库中的`plot_roc_curve`函数。这里是一个简单的例子:
```python
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
# 获取预测概率而非二进制预测结果
probs = model.predict_proba(X_test)[:, 1] # 对应于正类的概率
# 计算TPR和FPR
fpr, tpr, _ = roc_curve(y_test, probs)
# 计算AUC(Area Under the Curve)
roc_auc = auc(fpr, tpr)
# 绘制ROC曲线
plt.figure()
plt.plot(fpr, tpr, label=f"ROC curve (area = {roc_auc:.2f})")
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 (ROC)')
plt.legend(loc="lower right")
plt.show()
```
这段代码会画出ROC曲线,横轴是假阳性率,纵轴是真阳性率,AUC值表示曲线下的面积,数值越大说明模型区分能力越好。
如果你有任何关于这个过程的问题,例如如何解释ROC曲线或如何优化AUC,随时告诉我。
阅读全文