精华内容
下载资源
问答
  • roc曲线python
    千次阅读
    2021-07-19 17:58:24

    I want to draw ROC curves for each of my 46 classes. I have 300 test samples for which I've run my classifier to make a prediction.

    y_test is the true classes, and y_pred is what my classifier predicted.

    Here's my code:

    from sklearn.metrics import confusion_matrix, roc_curve, auc

    from sklearn.preprocessing import label_binarize

    import numpy as np

    y_test_bi = label_binarize(y_test, classes=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18, 19,20,21,2,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,3,40,41,42,43,44,45])

    y_pred_bi = label_binarize(y_pred, classes=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18, 19,20,21,2,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,3,40,41,42,43,44,45])

    # Compute ROC curve and ROC area for each class

    fpr = dict()

    tpr = dict()

    roc_auc = dict()

    for i in range(2):

    fpr[i], tpr[i], _ = roc_curve(y_test_bi, y_pred_bi)

    roc_auc[i] = auc(fpr[i], tpr[i])

    However, now I'm getting the following error:

    Traceback (most recent call last):

    File "C:\Users\app\Documents\Python Scripts\gbc_classifier_test.py", line 152, in

    fpr[i], tpr[i], _ = roc_curve(y_test_bi, y_pred_bi)

    File "C:\Users\app\Anaconda\lib\site-packages\sklearn\metrics\metrics.py", line 672, in roc_curve

    fps, tps, thresholds = _binary_clf_curve(y_true, y_score, pos_label)

    File "C:\Users\app\Anaconda\lib\site-packages\sklearn\metrics\metrics.py", line 505, in _binary_clf_curve

    y_true = column_or_1d(y_true)

    File "C:\Users\app\Anaconda\lib\site-packages\sklearn\utils\validation.py", line 265, in column_or_1d

    raise ValueError("bad input shape {0}".format(shape))

    ValueError: bad input shape (300L, 46L)

    解决方案

    roc_curve takes parameter with shape [n_samples] (link), and your inputs (either y_test_bi or y_pred_bi) are of shape (300, 46). Note the first

    I think the problem is y_pred_bi is an array of probabilities, created by calling clf.predict_proba(X) (please confirm this). Since your classifier was trained on all 46 classes, it outputs a 46-dimensional vectors for each data point, and there is nothing label_binarize can do about that.

    I know of two ways around this:

    Train 46 binary classifiers by invoking label_binarize before clf.fit() and then compute ROC curve

    Slice each column of the 300-by-46 output array and pass that as the second parameter to roc_curve. This is my preferred approach by I am assuming y_pred_bi contains probabilities

    更多相关内容
  • 使用Python绘制ROC曲线,数据集自拟
  • 主要介绍了python实现二分类和多分类的ROC曲线教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了基于python实现ROC曲线绘制广场解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • ROC曲线绘制(Python

    万次阅读 多人点赞 2021-12-08 15:54:30
    我看谁还不会用Python画出ROC曲线!!!

    首先以支持向量机模型为例

    先导入需要使用的包,我们将使用roc_curve这个函数绘制ROC曲线!

    from sklearn.svm import SVC
    from sklearn.metrics import roc_curve
    from sklearn.datasets import make_blobs
    from sklearn. model_selection import train_test_split
    import matplotlib.pyplot as plt
    %matplotlib inline
    

    然后使用下面make_blobs函数,生成一个二分类的数据不平衡数据集;

    使用train_test_split函数划分训练集和测试集数据;

    训练SVC模型。

    X,y = make_blobs(n_samples=(4000,500), cluster_std=[7,2], random_state=0)
    
    X_train,X_test,y_train, y_test = train_test_split(X,y,random_state=0)
    
    clf = SVC(gamma=0.05).fit(X_train, y_train)
    

    fpr,tpr, thresholds = roc_curve(y_test,clf.decision_function(X_test))
    
    plt.plot(fpr,tpr,label='ROC')
    
    plt.xlabel('FPR')
    plt.ylabel('TPR')
    

    从上面的代码可以看到,我们使用roc_curve函数生成三个变量,分别是fpr,tpr, thresholds,也就是假正例率(FPR)真正例率(TPR)和阈值。

    而其中的fpr,tpr正是我们绘制ROC曲线的横纵坐标,于是我们以变量fpr为横坐标,tpr为纵坐标,绘制相应的ROC图像如下:

    值得注意的是上面的支持向量机模型使用的decision_function函数,是自己所特有的,而其他模型不能直接使用。

    比如说我们想要使用其他模型(例如决策树模型)的结果绘制ROC,直接套用上面的代码,会报错,会显示没有这个函数。

    以决策树模型为例,解决上述问题(适用于除向量机外的模型)

    导入决策树模型包以及训练模型的代码省略了,只需要手动改一改就行了,我们直接看绘图的代码!

    fpr,tpr, thresholds = roc_curve(y_test,clf.predict_proba(X_test)[:,1])
    
    
    plt.plot(fpr,tpr,label='ROC')
    
    plt.xlabel('FPR')
    plt.ylabel('TPR')

    可以看到我们直接把只适用于支持向量机模型的函数decision_function更改成predict_proba(X_test)[:,1]就行了,让我们看看结果:

    可以看到哈,决策树模型在这个数据集上的泛化能力不如支持向量机哈!!!学废了吗。

    更好看的画法

    auc = roc_auc_score(y_test,clf.predict_proba(X_test)[:,1])
    # auc = roc_auc_score(y_test,clf.decision_function(X_test))
    fpr,tpr, thresholds = roc_curve(y_test,clf.decision_function(X_test))
    plt.plot(fpr,tpr,color='darkorange',label='ROC curve (area = %0.2f)' % 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 example')
    plt.legend(loc="lower right")
    plt.savefig('suhan.jpg',dpi=800)
    plt.show()

     

    展开全文
  • 这篇文章将先简单的介绍ROC和AUC,而后用实例演示如何python作出ROC曲线图以及计算AUC。 AUC介绍 AUC(Area Under Curve)是机器学习二分类模型中非常常用的评估指标,相比于F1-Score对项目的不平衡有更大的容忍性,...
  • python正确的的画出ROC曲线

    千次阅读 2022-06-12 02:00:06
    受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应,只不过是...

    ROC曲线简介

    受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应,只不过是在几种不同的判定标准下所得的结果而已。为了了解ROC曲线的意义,我们首先得了解一些变量。以下定义引自维基百科
    最近在做一些分类的任务,评价中的ROC曲线在很多地方都会用得到,特别在论文中。在此记录一下在做ROC曲线的过程中遇到的一些坑。

    1.画出来的ROC曲线是只有一个拐点的曲线

    在这里插入图片描述

    在这里插入图片描述
    更极端的像上图这种直接是一条曲线,这是因为在计算fpr与tpr过程中,会使用到数据的真实标注以及模型的预测结果,在计算fpr与tpr以及阈值时,preds的值应该使用分类器输出的概率值,而不是准确的分类结果0/1

    输出的图像不过原点

    就像上图一样,输出的图像看起来不经过远点,将坐标轴的刻度设置的大一些,为[-0.05,1.05]即可。

    分类器如何输出概率

    SVM分类器中,将参数probability=True设置即可,神经网络中,在最后的全连接层输出结果上加上Softmax操作即可输出概率。

    代码

    '''
    Author: weifeng liu
    Date: 2022-02-12 20:53:17
    LastEditTime: 2022-02-12 21:07:02
    LastEditors: Please set LastEditors
    Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
    FilePath: lirui
    ew_Data
    oc.py
    '''
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import sklearn.metrics as metrics
    
    def plot_ROC(labels,preds,savepath):
        """
        Args:
            labels : ground truth
            preds : model prediction
            savepath : save path 
        """
        fpr1, tpr1, threshold1 = metrics.roc_curve(labels, preds)  ###计算真正率和假正率
        
        roc_auc1 = metrics.auc(fpr1, tpr1)  ###计算auc的值,auc就是曲线包围的面积,越大越好
        plt.figure()
        lw = 2
        plt.figure(figsize=(10, 10))
        plt.plot(fpr1, tpr1, color='darkorange',
                lw=lw, label='AUC = %0.2f' % roc_auc1)  ###假正率为横坐标,真正率为纵坐标做曲线
        plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
        plt.xlim([-0.05, 1.05])
        plt.ylim([-0.05, 1.05])
        plt.xlabel('1 - Specificity')
        plt.ylabel('Sensitivity')
        # plt.title('ROCs for Densenet')
        plt.legend(loc="lower right")
        # plt.show()
        plt.savefig(savepath) #保存文件
    

    在这里插入图片描述

    展开全文
  • 0)=0 then 1 else 0 end""".format(a=a))) View Code 6.2 ROC曲线python importmatplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] =False plt.rcParams....

    1.混淆矩阵(一级指标)

    以分类模型中最简单的二分类为例,对于这种问题,我们的模型最终需要判断样本的结果是0还是1,或者说是positive还是negative。我们通过样本的采集,能够直接知道真实情况下,哪些数据结果是positive,哪些结果是negative。同时,我们通过用样本数据跑出分类型模型的结果,也可以知道模型认为这些数据哪些是positive,哪些是negative。因此,我们就能得到这样四个基础指标,我称他们是一级指标(最底层的):

    真实值是positive,模型认为是positive的数量(True Positive=TP)

    真实值是positive,模型认为是negative的数量(False Negative=FN):这就是统计学上的第一类错误(Type I Error)

    真实值是negative,模型认为是positive的数量(False Positive=FP):这就是统计学上的第二类错误(Type II Error)

    真实值是negative,模型认为是negative的数量(True Negative=TN)

    注:T肯定是对的,F是错的。

    预测性分类模型,肯定是希望越准越好。那么,对应到混淆矩阵中,那肯定是希望TP与TN的数量大,而FP与FN的数量小。所以当我们得到了模型的混淆矩阵后,就需要去看有多少观测值在第二、四象限对应的位置,这里的数值越多越好;反之,在第一、三象限对应位置出现的观测值肯定是越少越好。

    2.二级指标

    但是,混淆矩阵里面统计的是个数,有时候面对大量的数据,光凭算个数,很难衡量模型的优劣。因此混淆矩阵在基本的统计结果上又延伸了如下4个指标,我称他们是二级指标(通过最底层指标加减乘除得到的):

    准确率(Accuracy)—— 针对整个模型

    精确率(Precision)

    灵敏度(Sensitivity):就是召回率(Recall)

    特异度(Specificity)

    可以将混淆矩阵中数量的结果转化为0-1之间的比率。便于进行标准化的衡量。

    3.三级指标

    在这四个指标的基础上在进行拓展,会产令另外一个三级指标这个指标叫做F1 Score。他的计算公式是:

    其中,P代表Precision,R代表Recall。

    F1-Score指标综合了Precision与Recall的产出的结果。F1-Score的取值范围从0到1的,1代表模型的输出最好,0代表模型的输出结果最差。

    4.ROC曲线

    ROC曲线:Receiver Operating Characteristic曲线,横轴是FPR(False Positive Rate),纵轴是TPR(True Positive Rate)。

    AUC(Area Under ROC Curve):ROC曲线下的面积。

    5.K-S曲线

    洛伦兹曲线(Kolmogorov-Smirnov curve)值越大,表示模型能够将正、负客户区分开的程度越大。KS值的取值范围是[0,1] 。

    KS曲线是两条线,其横轴是阈值,纵轴是TPR(上面那条)与FPR(下面那条)的值,值范围[0,1] 。两条曲线之间之间相距最远(差)的地方对应的阈值,就是最能划分模型的阈值。绘制过程如下:

    可以看出,在阈值等于0.4的地方,TPR和FPR差最大,说明该处阈值可作为最佳区分点。

    6.相关代码

    6.1混淆矩阵pyspark

    1 '''

    2 TP(True Positive):真实为1,预测为13 FN(False Negative):真实为1,预测为04 FP(False Positive):真实为0,预测为15 TN(True Negative):真实为0,预测为06 '''

    7 #训练集

    8 a=0.1

    9 result_train_tmp=result_train.withColumn("tp",F.expr("""case when label=1 and round(prediction+{a},0)=1 then 1 else 0 end""".format(a=a))).\10 withColumn("fn",F.expr("""case when label=1 and round(prediction+{a},0)=0 then 1 else 0 end""".format(a=a))).\11 withColumn("fp",F.expr("""case when label=0 and round(prediction+{a},0)=1 then 1 else 0 end""".format(a=a))).\12 withColumn("tn",F.expr("""case when label=0 and round(prediction+{a},0)=0 then 1 else 0 end""".format(a=a)))

    View Code

    6.2 ROC曲线python

    importmatplotlib.pyplot as plt

    plt.rcParams['font.sans-serif'] = ['SimHei']

    plt.rcParams['axes.unicode_minus'] =False

    plt.rcParams.update({'font.size': 10})

    plt.rcParams['savefig.dpi'] = 300 #图片像素

    plt.rcParams['figure.dpi'] = 300 #分辨率

    #预测

    y_pred_lr=lr.predict_proba(x_test)#计算AUC

    fpr_lr,tpr_lr,thresholds = roc_curve(y_test,y_pred_lr[:,1],pos_label=1)

    roc_auc_lr=auc(fpr_lr, tpr_lr)#绘制roc

    plt.rcParams['figure.figsize']=(8,5)

    plt.figure()

    plt.plot(fpr_lr, tpr_lr, color='darkorange', label='ROC curve (area = %0.2f)' %roc_auc_lr)

    plt.plot([0,1], [0, 1], color='navy', 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('ROC曲线-LR')

    plt.legend(loc="lower right")#-------------------------------------------------

    #交叉验证画roc

    from sklearn.model_selection importKFold

    kf=KFold(n_splits=5)

    fig=plt.figure(figsize=(7,5))

    mean_tpr=0.0mean_fpr=np.linspace(0,1,100)

    all_tpr=[]

    x_train=np.array(x_train)

    y_train=np.array(y_train)

    i=0for train_index,test_index inkf.split(x_train):

    model=gbdt.fit(x_train[train_index],y_train[train_index])

    probas=model.predict_proba(x_train[test_index])

    fpr,tpr,thresholds= roc_curve(y_train[test_index],probas[:,1],pos_label=1)

    mean_tpr+=np.interp(mean_fpr,fpr,tpr)

    mean_tpr[0]=0.0roc_auc=auc(fpr,tpr)

    plt.plot(fpr,tpr,lw=1,label='ROC fold %d (area = %0.2f)'%(i+1,roc_auc))

    i+=1plt.plot([0,1],[0,1],linestyle='--',color=(0.6,0.6,0.6),label='random guessing')

    mean_tpr/=5mean_tpr[-1]=1.0mean_auc=auc(mean_fpr,mean_tpr)

    plt.plot(mean_fpr,mean_tpr,'k--',label='mean ROC (area=%0.2f)'%mean_auc,lw=2)

    plt.plot([0,0,1],[0,1,1],lw=2,linestyle=':',color='black',label='perfect performance')

    plt.xlim([-0.05,1.05])

    plt.ylim([-0.05,1.05])

    plt.xlabel('false positive rate')

    plt.ylabel('true positive rate')

    plt.title('Receiver Operator Characteristic')

    plt.legend(loc='lower right')

    plt.show()

    View Code

    6.3 K-S曲线python

    1 #绘制K-S曲线

    2 importnumpy as np3 importpandas as pd4 defPlotKS(preds, labels, n, asc):5

    6 #preds is score: asc=1

    7 #preds is prob: asc=0

    8 #n为划分阈值的个数,10为0-1

    9

    10 pred = preds #预测值

    11 bad = labels #取1为bad, 0为good

    12 ksds = pd.DataFrame({'bad': bad, 'pred': pred})13 ksds['good'] = 1 -ksds.bad14

    15 if asc == 1:16 ksds1 = ksds.sort_values(by=['pred', 'bad'], ascending=[True, True])17 elif asc ==0:18 ksds1 = ksds.sort_values(by=['pred', 'bad'], ascending=[False, True])19 ksds1.index =range(len(ksds1.pred))20 ksds1['cumsum_good1'] = 1.0*ksds1.good.cumsum()/sum(ksds1.good)21 ksds1['cumsum_bad1'] = 1.0*ksds1.bad.cumsum()/sum(ksds1.bad)22

    23 if asc == 1:24 ksds2 = ksds.sort_values(by=['pred', 'bad'], ascending=[True, False])25 elif asc ==0:26 ksds2 = ksds.sort_values(by=['pred', 'bad'], ascending=[False, False])27 ksds2.index =range(len(ksds2.pred))28 ksds2['cumsum_good2'] = 1.0*ksds2.good.cumsum()/sum(ksds2.good)29 ksds2['cumsum_bad2'] = 1.0*ksds2.bad.cumsum()/sum(ksds2.bad)30

    31 #ksds1 ksds2 -> average

    32 ksds = ksds1[['cumsum_good1', 'cumsum_bad1']]33 ksds['cumsum_good2'] = ksds2['cumsum_good2']34 ksds['cumsum_bad2'] = ksds2['cumsum_bad2']35 ksds['cumsum_good'] = (ksds['cumsum_good1'] + ksds['cumsum_good2'])/2

    36 ksds['cumsum_bad'] = (ksds['cumsum_bad1'] + ksds['cumsum_bad2'])/2

    37

    38 #ks

    39 ksds['ks'] = ksds['cumsum_bad'] - ksds['cumsum_good']40 ksds['tile0'] = range(1, len(ksds.ks) + 1)41 ksds['tile'] = 1.0*ksds['tile0']/len(ksds['tile0'])42

    43 qe = list(np.arange(0, 1, 1.0/n))44 qe.append(1)45 qe = qe[1:]46

    47 ks_index =pd.Series(ksds.index)48 ks_index = ks_index.quantile(q =qe)49 ks_index =np.ceil(ks_index).astype(int)50 ks_index =list(ks_index)51

    52 ksds =ksds.loc[ks_index]53 ksds = ksds[['tile', 'cumsum_good', 'cumsum_bad', 'ks']]54 ksds0 =np.array([[0, 0, 0, 0]])55 ksds = np.concatenate([ksds0, ksds], axis=0)56 ksds = pd.DataFrame(ksds, columns=['tile', 'cumsum_good', 'cumsum_bad', 'ks'])57

    58 ks_value =ksds.ks.max()59 ks_pop =ksds.tile[ksds.ks.idxmax()]60 print ('ks_value is' + str(np.round(ks_value, 4)) + 'at pop =' + str(np.round(ks_pop, 4)))61

    62 #chart

    63

    64 #chart

    65 plt.plot(ksds.tile, ksds.cumsum_good, label='cum_good',66 color='blue', linestyle='-', linewidth=2)67

    68 plt.plot(ksds.tile, ksds.cumsum_bad, label='cum_bad',69 color='red', linestyle='-', linewidth=2)70

    71 plt.plot(ksds.tile, ksds.ks, label='ks',72 color='green', linestyle='-', linewidth=2)73

    74 plt.axvline(ks_pop, color='gray', linestyle='--')75 plt.axhline(ks_value, color='green', linestyle='--')76 plt.axhline(ksds.loc[ksds.ks.idxmax(), 'cumsum_good'], color='blue', linestyle='--')77 plt.axhline(ksds.loc[ksds.ks.idxmax(),'cumsum_bad'], color='red', linestyle='--')78 plt.title('KS=%s' %np.round(ks_value, 4) +

    79 'at Pop=%s' %np.round(ks_pop, 4), fontsize=15)80

    81

    82 return ksds

    View Code

    6.4 其他指标计算python

    1 from sklearn.metrics importprecision_score, recall_score, f1_score,accuracy_score2

    3 acc=accuracy_score(y_test, y_pred_lr_new)4 p = precision_score(y_test, y_pred_lr_new, average='binary')5 r = recall_score(y_test, y_pred_lr_new, average='binary')6 f1score = f1_score(y_test, y_pred_lr_new, average='binary')7 print(acc,p,r,f1score)

    View Code

    相关链接:

    展开全文
  • python实现绘制多个模型的ROC曲线

    千次阅读 2022-05-12 10:32:02
    python实现绘制多个模型的ROC曲线
  • python 针对二分类问题画roc曲线
  • python 分类问题 画roc曲线实战
  • 通过给定的数据样本绘制ROC曲线和PR曲线,并计算AUC
  • Python绘绘制制KS曲曲线线的的实实现现方方法法 本篇文章主要介绍了Python绘制KS曲线的实现方法小编觉得挺不错的现在分享给大家也给大家做个参考 一起 随小编过来看看吧 python实现KS曲线相关使用方法请参考上篇博客...
  • pythonROC 曲线

    千次阅读 2018-10-16 10:31:22
    pythonROC 曲线的实现代码 import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import auc ###计算roc和auc import pandas as pd base = "D:\\WFLW\\wflw_blur_128\\ROC\\"...
  • python绘制ROC曲线,计算AUC

    千次阅读 2021-10-26 10:49:35
    一:前言 ...ROC曲线是根据一系列不同的二分类方式(分界值或决定阈),以真正例率(True Positive Rate,TPR 也就是灵敏度)为纵坐标,假正例率(False Positive Rate,FPR,1-特效性)为横坐标绘制的
  • 基于python的多分类ROC曲线生成2

    千次阅读 2021-02-03 20:33:41
    from sklearn.metrics import confusion_matrix, roc_curve, aucfrom sklearn.preprocessing import label_binarizeimport numpy as npy_test_bi = label_binarize(y_test, classes=[0,1,2,3,4,5,6,7,8,9,10,11,12,1...
  • roc曲线pythonROC Curves in Python and R Python和R中的ROC曲线翻译自: https://www.pybloggers.com/2016/03/roc-curves-in-python-and-r/roc曲线python
  • ROC曲线绘制(python+sklearn+多分类)

    千次阅读 热门讨论 2020-07-29 13:06:51
    ROC曲线绘制要点(仅记录)
  • Roc is not ready for a 0.1 release yet, but we do have: installation guide tutorial some docs for the standard library frequently asked questions Zulip chat for help, questions and discussions If ...
  • 二分类问题评估指标有ROC曲线--------->对sklearn.metrics.roc_curve中的评估指标计算方式有疑问 样例代码: >>> import numpy as np >>> from sklearn import metrics >>> y = np....
  • 机器学习之支持向量机SVM之python实现ROC曲线绘制(二分类和多分类)
  • I am trying to plot a ROC curve to evaluate the accuracy of a prediction model I developed in Python using logistic regression packages. I have computed the true positive rate as well as the false pos...
  • 这篇文章将先简单的介绍ROC和AUC,而后用实例演示如何python作出ROC曲线图以及计算AUC。AUC介绍AUC(Area Under Curve)是机器学习二分类模型中非常常用的评估指标,相比于F1-Score对项目的不平衡有更大...
  • 二、ROC曲线及AUC的python实现 因为ROC曲线和AUC是机器学习二分类模型中非常常用的评估指标,刚开始理解比较吃力,建议结合例子进行理解。下面面容参考《机器学习评价指标 ROC与AUC 的理解和python实现》...
  • pythonroc

    2020-11-29 13:23:25
    以下是使用scikit learn预测、做出决策边界并画出roc曲线的一个示例,以鸢尾花数据集为例。 1. 导入鸢尾花的数据import numpy as npimport matplotlib.pyplot as pltimportwarningsfrom sklearn impo...
  • ROC/AUC曲线学习及Python实现

    千次阅读 2021-10-06 17:05:46
    参考博客:【机器学习笔记】:一文让你彻底理解准确率,精准率,召回率,真正率,假正率,ROC/AUC 一、准确率,精准率,召回率 1.TP、TN、FP、FN概念 P(Positive):代表1 N(Negative):代表0 T(True):代表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,378
精华内容 3,351
关键字:

roc曲线python

友情链接: da-tlc5615.rar