怎么利用python画出AUC曲线-创新互联
这篇文章将为大家详细讲解有关怎么利用python画出AUC曲线,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
目前创新互联已为上1000+的企业提供了网站建设、域名、雅安服务器托管、网站运营、企业网站设计、临漳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
直接上代码:
from sklearn.datasets import load_breast_cancer from sklearn import metrics from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split import pylab as plt import warnings;warnings.filterwarnings('ignore') dataset = load_breast_cancer() data = dataset.data target = dataset.target X_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,auc from sklearn.ensemble import RandomForestClassifier import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split x_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曲线”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文章名称:怎么利用python画出AUC曲线-创新互联
文章地址:http://scjbc.cn/article/ddsdci.html