区间预测——conformal tights

conformal tights 是一个python包

特征:

sklearn元估计器:向任何scikit-learn回归器添加分位数和区间的共形预测

darts预测:向任何scikit-learn回归器添加共形校准的概率预测

保形校准:准确的分位数和可靠的覆盖的区间

相干分位数:分位数单调增加而不是相互交叉

紧密分位数:选择提供所需覆盖范围的最低分散度

数据高效:仅需要少量校准示例即可拟合

pandas支持:可选择预测Dataframe并接收dataframe输出

预测分位数

conformal tights导出一个称为元估计器ConformalCoherenrQuantileRegressor,可以使用它来为任何scikit-learn回归器配备predict_quantiles预测共形校准分位数的方法。

获取数据:

X, y = fetch_openml("ames_housing", version=1, return_X_y=True, as_frame=True, parser="auto")

从OPENML数据库中下载数据集,OPENML是一个在线服务,提供了大量的数据集,共数据科学家和机器学习研究人员使用。

ames_housing:数据集的名称,是一个关于房价的中等规模数据集,常用于回归任务

version=1:数据集的版本号,OPENML中的数据集可能会随着时间的推移而更新

创建回归器,在训练集上拟合,然后基于测试集预测

# Create a regressor, equip it with conformal prediction, and fit on the train set
my_regressor = XGBRegressor(objective="reg:absoluteerror")
conformal_predictor = ConformalCoherentQuantileRegressor(estimator=my_regressor)
conformal_predictor.fit(X_train, y_train)# Predict with the underlying regressor
ŷ_test = conformal_predictor.predict(X_test)

使用一致性预测器预测分位数

ŷ_test_quantiles = conformal_predictor.predict_quantiles(X_test, quantiles=(0.025, 0.05, 0.1, 0.9, 0.95, 0.975)
)
print(ŷ_test_quantiles)

使用一致性预测器来预测测试集的多个分位数,quantiles参数指定了一组分位数,分别是0.025(2.5%)、0.05(5%)、0.1(10%)、0.9(90%)、0.95(95%)和0.975(97.5%)。这些分位数对应于预测分布的不同位置。

返回的部分结果:

可视化测试集上的预测分位数:

预测间隔

除了分位数预测外,还可以用predict_interval预测共形校准的预测区间,与分位数相比,这些侧重于可靠的覆盖范围而不是分位数精度

ŷ_test_interval = conformal_predictor.predict_interval(X_test, coverage=0.95)

使用一致性预测器来预测测试集上每个样本的房价区间,并且制定了期望的覆盖率(coverage为0.95)

conformal_predictor.predict_interval方法计算了对于给定测试数据集X_test中每个样本的95%预测区间。这个区间是一个范围,表达了预测值的不确定性,95%的覆盖率意味着我们期望95%的实际观测值会落在这个区间内。

计算出来的预测区间被存储在ŷ_test_interval变量中,这个变量通常是一个二维的dataframe或numpy数组,其中每一行对应于x_test中内的一个样本,每一列对应于区间的下界和上界。

coverage = ((ŷ_test_interval.iloc[:, 0] <= y_test) & (y_test <= ŷ_test_interval.iloc[:, 1])).mean()

ŷ_test_interval.iloc[:, 0]:预测区间的下界

ŷ_test_interval.iloc[:, 1]:预测区间的上界

y_test:测试集的实际目标

&用来判断测试集的实际目标值是否同时大于等于预测区间的下界且小于等于预测区间的上界

mean():计算平均值的方法,计算所有测试样本中落在预测区间内的比例。

预测时间序列

conformal tights还导出一个名为darts预测器,dartsforecaster它使用ConformalCoherentQuantileRegressor来进行共形校准的概率时间序列预测。

X.pd_dataframe()的输出结果为:

接上

在测试集上可视化预测及其预测区间:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/675015.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS Code中PlatformIO IDE的安装并开发Arduino

VS Code中PlatformIO IDE的安装并开发Arduino VS Code的安装 略 PlatformIO IDE的安装 PlatformIO IDE是是什么 PlatformIO IDE 是一个基于开源的跨平台集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于嵌入式系统和物联网&#xff08;IoT&#xff09;开发。…

小白入门:创建一个SpringBoot项目

前言 我们在创建SpringBoot项目时候&#xff0c;会出现不确定和报错的情况很多&#xff0c;大家可以按照我的做法来简单创建一个SpringBoot项目 1.环境配置 下载安装并配置jdk1.8下载apache mavenidea软件 2.开始创建项目 Server URL&#xff1a;初始是start.spring.io,我…

【计算机科学速成课】笔记三——操作系统

文章目录 18.操作系统问题引出——批处理设备驱动程序多任务处理虚拟内存内存保护Unix 18.操作系统 问题引出—— Computers in the 1940s and early 50s ran one program at a time. 1940,1950 年代的电脑&#xff0c;每次只能运行一个程序 A programmer would write one at…

栈数据结构

1,概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈(push)&#x…

绘画作品3d数字云展厅提升大众的艺术鉴赏和欣赏能力

3D虚拟展厅作为未来艺术的展示途径&#xff0c;正逐渐成为文化创意产业蓬勃发展的重要引擎。这一创新形式不仅打破了传统艺术展览的局限性&#xff0c;更以其独特的魅力吸引着全球观众的目光。 3D虚拟艺术品展厅以其独特的魅力&#xff0c;助力提升大众的艺术鉴赏和欣赏能力。观…

北京车展现场体验商汤DriveAGI自动驾驶大模型展现认知驱动新境界

在2024年北京国际汽车展的舞台上&#xff0c;众多国产车型纷纷亮相&#xff0c;各自展示着独特的魅力。其中&#xff0c;小米SUV7以其精美的外观设计和宽敞的车内空间&#xff0c;吸引了无数目光&#xff0c;成为本届车展上当之无愧的明星。然而&#xff0c;车辆的魅力并不仅限…

Penpad再获 Presto Labs 投资,Scroll 生态持续扩张

​Penpad 是 Scroll 生态的 LaunchPad 平台&#xff0c;其整计划像收益聚合器以及 RWA 等功能于一体的综合性 Web3 平台拓展&#xff0c;该平台在近期频获资本市场关注&#xff0c;并获得了多个知名投资者/投资机构的支持。 截止到本文发布前&#xff0c;Penpad 已经获得了包括…

截图工具Snipaste:不仅仅是截图,更是效率的提升

在数字时代&#xff0c;截图工具已成为我们日常工作和生活中不可或缺的一部分。无论是用于工作汇报、学习笔记&#xff0c;还是日常沟通&#xff0c;一款好用的截图工具都能大大提升我们的效率。今天&#xff0c;我要向大家推荐一款功能强大且易于使用的截图软件——Snipaste。…

Flutter实战记录-协作开发遇到的问题

一.前言 Android项目使用了混合架构&#xff0c;部分模块使用Flutter进行开发。在电脑A上开发的项目提交到git仓库&#xff0c;电脑B拉取后进行操作&#xff0c;遇到两个问题&#xff0c;特此做一下记录&#xff1b; 二.问题A Settings file ‘D:\xxx\settings.gradle’ line…

LeetCode:盛最多水的容器

文章收录于LeetCode专栏 盛最多水的容器 给你n个非负整数a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每个数代表坐标中的一个点(i, ai) 。在坐标内画 n 条垂直线&#xff0c;垂直线i的两个端点分别为(i, ai) 和 (i, 0)。找出其中的两条线&#xff0c;使得它们与…

SQL查询语句(二)逻辑运算关键字

上一篇文章中我们提到了条件查询除了一些简单的数学符号之外&#xff0c;还有一些用于条件判断的关键字&#xff0c;如逻辑判断 关键字AND,OR,NOT和范围查找关键字BETWEEN,IN等&#xff1b;下面我们来介绍一些这些关键字的用法以及他们所表达的含义。 目录 逻辑运算关键字 AND…

python : isin()使用方法

在python中&#xff0c;isin() 方法主要与Pandas库中的Series和DataFrame对象关联&#xff0c;用于检查数据系列中的元素是否包含在另一个数组或列表中。这个方法非常有用&#xff0c;特别是在进行数据筛选、数据分析或是处理缺失值等场景。 isin()方法基本语法如下&#xff1…