时间:2021-05-22
以load_breast_cancer数据集为例,模型细节不重要,重点是画AUC的代码。
直接上代码:
from sklearn.datasets import load_breast_cancerfrom sklearn import metricsfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import train_test_splitimport pylab as pltimport warnings;warnings.filterwarnings('ignore')dataset = load_breast_cancer()data = dataset.datatarget = dataset.targetX_train,X_test,y_train,y_test = train_test_split(data,target,test_size=0.2)rf = RandomForestClassifier(n_estimators=5)rf.fit(X_train,y_train)pred = rf.predict_proba(X_test)[:,1]#############画图部分fpr, tpr, threshold = metrics.roc_curve(y_test, pred)roc_auc = metrics.auc(fpr, tpr)plt.figure(figsize=(6,6))plt.title('Validation ROC')plt.plot(fpr, tpr, 'b', label = 'Val AUC = %0.3f' % roc_auc)plt.legend(loc = 'lower right')plt.plot([0, 1], [0, 1],'r--')plt.xlim([0, 1])plt.ylim([0, 1])plt.ylabel('True Positive Rate')plt.xlabel('False Positive Rate')plt.show()补充拓展:Python机器学习中的roc_auc曲线绘制
废话不多说,直接上代码
from sklearn.metrics import roc_curve,aucfrom sklearn.ensemble import RandomForestClassifierimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitx_train,y_train,x_test,y_test=train_test_split(x,y,test_size=0.2)rf=RandomForestClassifier()rf.fit(x_train,y_train)rf.score(x_train,y_train)print('trainscore:'+str(rfbest.score(x_train,y_train)))print('testscore:'+str(rfbest.score(x_test,y_test)))y_score=rfbest.fit(x_train,y_train).predict_proba(x_test) #descision_function()不可用print(type(y_score))fpr,tpr,threshold=roc_curve(y_test,y_score[:, 1])roc_auc=auc(fpr,tpr)plt.figure(figsize=(10,10))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 example')plt.legend(loc="lower right")plt.show()以上这篇利用python画出AUC曲线的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
-AUC计算方法-AUC的Python实现方式AUC计算方法AUC是ROC曲线下的面积,它是机器学习用于二分类模型的评价指标,AUC反应的是模型对样本的排序能力
本文实例为大家分享了python使用插值法画出平滑曲线的具体代码,供大家参考,具体内容如下实现所需的库numpy、scipy、matplotlib实现所需的方法
在用python绘图的时候,经常由于数据的原因导致画出来的图折线分界过于明显,因此需要对原数据绘制的折线进行平滑处理,本文介绍利用插值法进行平滑曲线处理:实现所
前言ROC(ReceiverOperatingCharacteristic)曲线和AUC常被用来评价一个二值分类器(binaryclassifier)的优劣。这
在工程计算时,经常要用CAD画出一条曲线,而这条曲线如果是由多个坐标点连接成的,输入起来就麻烦,而且容易出错。如果利用EXCEL应用程序来保存数据,并与CAD巧