X = np.hstack((X1_new, X2_new, X3_new, X4_new, X5_new, X6_new, X7_new, X8_new, X9_new, X10_new, X11_new, X12_new, X13_new, X14_new, X15_new)) y = data['target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,random_state=10) clf=SVC(kernel='linear',C=1000) clf.fit(X_train,y_train)绘制ROC曲线的代码实现
时间: 2024-01-26 20:03:12 浏览: 71
好的,下面是绘制ROC曲线的代码实现。首先,我们需要将模型对测试集的预测结果转换为概率:
```
from sklearn.metrics import roc_curve, auc
# 将模型对测试集的预测结果转换为概率
y_score = clf.decision_function(X_test)
```
接下来,我们使用`roc_curve()`函数计算ROC曲线上的假正率(FPR)、真正率(TPR)和对应的阈值:
```
# 计算ROC曲线上的FPR、TPR和对应的阈值
fpr, tpr, thresholds = roc_curve(y_test, y_score)
```
然后,我们使用`auc()`函数计算ROC曲线下的面积(AUC):
```
# 计算ROC曲线下的面积
roc_auc = auc(fpr, tpr)
print('AUC:', roc_auc)
```
最后,我们可以使用Matplotlib绘制ROC曲线:
```
import matplotlib.pyplot as plt
# 绘制ROC曲线
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
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()
```
输出结果为ROC曲线图,其中橙色曲线下的面积即为ROC曲线下的面积(AUC):
阅读全文