画AUC曲线

该博客介绍如何使用Python的sklearn库绘制支持向量机(SVM)的交叉验证AUC曲线。首先,从pandas数据中提取特征和目标变量,然后使用StratifiedKFold进行交叉验证,训练SVM模型。通过roc_curve计算每个折叠的FPR和TPR,再计算平均AUC。最后,绘制ROC曲线并显示平均ROC曲线。
摘要由CSDN通过智能技术生成
以pandas数据格式输入,画svm的交叉验证auc曲线
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split,GridSearchCV,StratifiedKFold
from sklearn.metrics import classification_report
from sklearn import svm, datasets
from sklearn.metrics import roc_curve, auc
from scipy import interp
def draw_auc():

    X = np.array(pd_data.head(5000).drop(columns=["KILLED"]))
    y = np.array(pd_data.head(5000)["KILLED"])
    random_state = np.random.RandomState(0)

    cv = StratifiedKFold(n_splits=6).split(X,y)
    classifier = svm.SVC(kernel='linear', probability=True,
                         random_state=random_state)  # 注意这里,probability=True,需要,不然预测的时候会出现异常。另外rbf核效果更好些。

    mean_tpr = 0.0
    mean_fpr = np.linspace(0
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值