Python机器学习利用鸢尾花数据绘制ROC和AUC曲线_环球播报
【资料图】
目录
一、ROC与AUC1.ROC2.AUC二、代码实现效果一、ROC与AUC
很多学习器是为了测试样本产生的一个实值或概率预测,然后将这个预测值与一个分类阈值(threshold)进行比较,若大于阈值则分为正类,否则为反类。主要看需要建立的模型侧重于想用在测试数据的泛华性能的好坏。排序本身的质量好坏体系了综合考虑学习去在不同任务下的“期望泛化性能”的好坏。ROC曲线则是从这个角度出发来研究学习器泛化性能。
1.ROC
ROC的全称是“受试者工作特征”曲线,与P-R曲线相似。与P-R曲线使用查准率、查全率为纵、横坐标不同,ROC曲线的纵轴是“真正例率”{简称TPR),横轴是“假正例率”(简称FPR)二者分别定义为:
ROC曲线图以真正例率为Y轴,假正例率为X轴。
2.AUC
进行检验判定ROC曲线性能的合理判据是比较ROC曲线下的面积,即AUC。从定义知AUC可通过对ROC曲线下各部分的面积求和而得,AUC可估算为:
从形式化看,AUC考虑的是样本预测的排序质量,因此它与排序误差有紧密联系。因此存在排序损失。
二、代码实现
形式基本和P-R曲线差不多,只是几个数值要改一下。
代码如下(示例):
from sklearn import svm, datasets from sklearn.model_selection import train_test_split from sklearn.metrics import roc_curve, auc from itertools import cycle from sklearn.preprocessing import label_binarize #标签二值化LabelBinarizer,可以把yes和no转化为0和1,或是把incident和normal转化为0和1。 import numpy as np from sklearn.multiclass import OneVsRestClassifier iris = datasets.load_iris() # 鸢尾花数据导入 X = iris.data #每一列代表了萼片或花瓣的长宽,一共4列,每一列代表某个被测量的鸢尾植物,iris.shape=(150,4) y = iris.target #target是一个数组,存储了data中每条记录属于哪一类鸢尾植物,所以数组的长度是150,所有不同值只有三个 random_state = np.random.RandomState(0) #给定状态为0的随机数组 y = label_binarize(y, classes=[0, 1, 2]) n_classes = y.shape[1] n_samples, n_features = X.shape X = np.c_[X, random_state.randn(n_samples, 200 * n_features)] #添加合并生成特征测试数据集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0) #根据此模型训练简单数据分类器 classifier = OneVsRestClassifier(svm.SVC(kernel="linear", probability=True, random_state=random_state))#线性分类支持向量机 y_score = classifier.fit(X_train, y_train).decision_function(X_test) #用一个分类器对应一个类别, 每个分类器都把其他全部的类别作为相反类别看待。 fpr = dict() tpr = dict() roc_auc = dict() for i in range(n_classes): fpr[i], tpr[i], _ = roc_curve(y_test[:, i], y_score[:, i]) #计算ROC曲线面积 roc_auc[i] = auc(fpr[i], tpr[i]) fpr["micro"], tpr["micro"], _ = roc_curve(y_test.ravel(), y_score.ravel()) roc_auc["micro"] = auc(fpr["micro"], tpr["micro"]) import matplotlib.pyplot as plt plt.figure() lw = 2 plt.plot(fpr[2], tpr[2], color="darkorange", lw=lw, label="ROC curve (area = %0.2f)" % roc_auc[2]) plt.plot([0, 1], [0, 1], color="navy", lw=lw, linestyle="--") plt.xlabel("FPR") plt.ylabel("TPR") plt.ylim([0.0, 1.0]) plt.xlim([0.0, 1.0]) plt.legend(loc="lower right") plt.title("Precision-Recall") plt.show()
效果
以上就是Python机器学习利用鸢尾花数据绘制ROC和AUC曲线的详细内容,更多关于Python数据绘制ROC AUC的资料请关注脚本之家其它相关文章!
标签:
相关文章
Python机器学习利用鸢尾花数据绘制ROC和AUC曲线_环球播报
这篇文章主要为大家介绍了Python机器学习利用鸢尾花数据绘制ROC和AUC曲线实现示例,有需要的朋友可以借鉴参
共青团开展2023届高校毕业生就业岗位帮扶-世界即时看
新华社北京5月24日电(记者董博婷、黄玥)记者从近日召开的共青团促进大学生就业工作推进会上获悉,共青团
研究揭示 ChatGPT 美国用户人群画像:年轻、富裕、受过良好教育
研究揭示ChatGPT美国用户人群画像:年轻、富裕、受过良好教育,5月25日消息,美国皮尤研究中心(PewResearch
记者:卢卡斯希望加盟巴黎,这也是巴黎首要任务双方已在谈-世界热门
直播吧5月25日讯记者SantiAouna报道,卢卡斯-埃尔南德斯对于加盟巴黎圣日耳曼感到非常兴奋。双方正在进行商
前沿资讯!1469元,人手iQOOZ7x高配版,还有礼品相送
提供100%P3电影级色域,让用户在观看影片或参与游戏时,可以享受更加绚丽的色彩和更加流畅的画面。前置800
世界那么大我想去看看作文素材(世界那么大我想去看看作文)
1、网上刚刚传出女大老师神简洁的辞职信,一句 "世界很大,我想去看看 "让多少人为之倾倒,让多少人知道了
蔡依林穿着_蔡依林穿泳衣上街 天天观察
1、蔡依林(Jolin)是位时尚天后,5月在北京出席活动时,曾在大衣里搭配类似泳衣的StellaMccartney紧身
上海世外中环实验(世外附属中环实验学校怎么样)-世界最新
每日小编都会为大家带来一些知识类的文章,那么今天小编为大家带来的是世外附属中环实验学校怎么样方面的消
环球视点!老外吐槽RTX 4060 Ti/RX 7600:2023年了 2000多元还是1080P游戏显卡
AMD今晚发布RX7600显卡,RDNA3家族最便宜的甜点,定价269美元,国内2149元。RX7600的使命就是让延期到7月份
热讯:深圳机场:拟以自有资金在深圳市设立全资子公司深圳市深畅航空货运有限公司
深圳机场(SZ000089,收盘价:6 91元)5月24日晚间发布公告称,为有效解决深圳机场国际普货保障场地资源不
樊振东:对阵黄镇廷不在最舒服状态 未来要把好的感觉记住 世界百事通
“男单第一场我打的是削球,这两天还打了几场双打,从削球、双打到今天黄镇廷的球,节奏上或多或少会有一些
世界时讯:三国志战略版部队能做些什么(三国志战略版主力部队用什么好)
三国志战略版部队能做些什么?在《三国志·战略版》中,主公可以操作部队进行各种各样的行动,包括攻占与扫
两年违规转贷15次金额上亿,知原药业天价销售费用9倍于研发 全球热点
《港湾商业观察》施子夫李镭 自今年4月13日递交招股书后,江苏知原药业股份有限公司(以下简称,知原药业)
全球通讯!带你看中国 | 2023第一季度物流地产市场概览
2023年第一季度中国物流地产市场的租赁活动表现分化。其中,一线城市整体租赁需求保持平稳,而部分二线城市