利用sklearn.metrics.roc_curve绘制roc曲线
时间: 2024-06-03 21:01:50 浏览: 181
roc曲线绘制2.rar
5星 · 资源好评率100%
首先,我们需要导入需要的库:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, roc_auc_score
```
接下来,我们可以生成一些模拟数据:
```python
y_true = np.array([0, 0, 1, 1, 1, 0, 0, 1, 1, 1])
y_scores = np.array([0.1, 0.3, 0.4, 0.6, 0.7, 0.2, 0.25, 0.8, 0.9, 0.95])
```
其中,`y_true` 是真实标签,`y_scores` 是预测分数(或概率)。
然后,我们可以使用 `sklearn.metrics.roc_curve` 函数计算 ROC 曲线的 FPR(false positive rate)和 TPR(true positive rate):
```python
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
```
最后,我们可以使用 matplotlib 库绘制 ROC 曲线:
```python
plt.plot(fpr, tpr)
plt.title('ROC Curve')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.show()
```
完整代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, roc_auc_score
# 模拟数据
y_true = np.array([0, 0, 1, 1, 1, 0, 0, 1, 1, 1])
y_scores = np.array([0.1, 0.3, 0.4, 0.6, 0.7, 0.2, 0.25, 0.8, 0.9, 0.95])
# 计算 ROC 曲线
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
# 绘制 ROC 曲线
plt.plot(fpr, tpr)
plt.title('ROC Curve')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.show()
```
运行上述代码,即可得到 ROC 曲线图像。
阅读全文