python 将多个模型的ROC曲线绘制在一张图里(含图例) |
您所在的位置:网站首页 › matlab在一张图中画多个函数 › python 将多个模型的ROC曲线绘制在一张图里(含图例) |
一. 多条ROC曲线绘制函数%ignore_pre_1%二.绘制效果![]() 调用方法时,需要把模型本身(如clf_xx)、模型名字(如GBDT)和对应颜色(如crimson)按照顺序、以列表形式传入函数作为参数。 %ignore_pre_2%四. 详细解释和说明1.关键函数(1)plt.figure(figsize=(20, 20), dpi=dpin)在for循环外绘制图片的大体框架。figsize控制图片大小,dpin控制图片的信息量(其实可以理解为清晰度?documentation的说明是The resolution of the figure in dots-per-inch) (2)zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 (3)roc_curve()%ignore_pre_3%该函数的传入参数为目标特征的真实值y_test和模型的预测值y_test_predprob。需要为pos_label赋值,指明正样本的值。 该函数的返回值 fpr、tpr和thresholds 均为ndarray, 为对应每一个不同的阈值下计算出的不同的真阳性率和假阳性率。这些值,就对应着ROC图中的各个点。 (4)auc()%ignore_pre_4%函数auc(),传入参数为fpr和tpr,返回结果为模型auc值,即曲线下面积值。 以上代码在使用fpr和tpr绘制ROC曲线的同时,也确定了标签(图例)的内容和格式。 2. 参数解释(1)sampling_methods是包含多个模型名字的list。所有模型不需要fit过再传入函数,只需要定义好即可。 %ignore_pre_5%(2)X_test, y_testX_test 和 y_test 两个参数用于传入函数后计算各个模型的预测值。 %ignore_pre_6%如果需要绘制的是训练集的ROC曲线,则可以在对应参数位置分别传入X_trian和y_train即可。 (3)names 和 colors这两个参数均为字符串列表形式。注意,这两个列表的值要和模型参数中的模型顺序一一对应。 如有需要绘制更多的模型,只需要对应增加列表中的值即可。 五.需要注意的小小坑1.同一张图片的同一种方法只能调用一次!!! %ignore_pre_7%如果像上图中的我一样,把同一张图片plt的方法legend()调用两次,那么下一个的方法中的参数就会将上一个的参数覆盖!这种情况下,我就发现第一个方法赋值的location完全不起作用…… 这个时候就需要将这个函数整合如下图~(其实本来就是应该这么写的,我也不知道为啥我脑子一抽写了两个,可能是R的ggplot给我的美好印象挥之不去吧) %ignore_pre_8%六.答疑和补充根据小伙伴的评论提问,在这里进行一下解释说明: 1.函数的适用问题这个函数是适用于所有数据集的,只需要导入数据集后进行训练集和测试集的划分即可。(我在“调用格式与方法”部分调用函数使用的是X_train 和y_train,绘制出的则是不同模型在训练集表现的ROC曲线) 划分训练集和测试集的代码如下(以使用8:2划分训练集测试集为例) %ignore_pre_9%df:导入的数据集 target:目标特征(y) train_size:训练集占比80% random_state: 随机数种子,不同随机数种子划分的训练集和测试集会有不同。 2.完整数据和代码有很多小伙伴问我要完整的数据集和代码,我在这里做下说明。这个函数是完整的、可以直接使用的,如涉及到具体的数据集,完整的流程是这样的: (1)导入包 可能涉及到的包的调用代码: %ignore_pre_10%(2)导入数据集 %ignore_pre_11%(3)划分训练集和测试集 %ignore_pre_12%(4)建立模型 接下来就需要建立模型啦~ 需要建多少都没有问题,只需要对应调整调用函数时的names和sampling_methods就可以了。下面以随机森林模型为例 %ignore_pre_13%在这一步也可以用以下代码来先简要看看模型效果: %ignore_pre_14%(5)把第一部分的函数复制粘贴~ (6)根据建立的模型修改第二部分的调用格式 (7)保存ROC图片即可 3.ROC图片的修改和调整有小伙伴问关于ROC图片的坐标轴刻度的修改问题,在这里简单补充一下: 坐标轴的范围是由xlim和ylim控制的,坐标轴的刻度是由xticks和yticks控制的,需要修改坐标轴刻度大小只需要增加到“xlim”语句后面就可以啦。 %ignore_pre_15%文章出处登录后可见! 立即登录 已经登录?立即刷新共计人评分,平均分 到目前为止还没有投票!成为第一位评论此文章。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |