Pandas数据分析33——数据多条件筛选(点估计和区间估计评价指标)

news2024/9/21 0:34:21

本次是写论文代码区间估计评价指标有感.....


数据框有两列的时候,我们想筛选A列大于B列的样本出来时,只需要用布尔值索引就行:

df[df['A']>df['B]]

可是多条件的筛选的时候怎么办,比如我需要A大于B列,还有A小于C列。

可以写多条件的索引:

df[(df['actual']>df['Low']) &(df['actual']<df['Upper'])]

在做区间估计的评价指标的时候,我想找出预测的真实值小于最大值和大于最小值的情况的个数,可以用上面的方法,还可以用一个更加简单的方法:

df.query('Low<actual<Upper')

也可以复杂点,用新增列布尔值去逻辑运算,多条件判断,找到不符合情况的样本的布尔值,然后去索引。

df[df.assign(up=df.Upper<df.actual).assign(lo=df.Low>df.actual).assign(bo=lambda d:d[['up','lo']].any(axis=1))['bo']]

 

 区间估计指标

这里给出论文里面的四个区间估计的评价指标公式:

PICP:

 PINAW:

 CWC:

 还有一个新指标PIEE:

 他们各有各的优缺点,要结合起来看,


下面给出他们的计算代码函数:

 

import numpy as np
import pandas as pd

def PICP(df_alltau,y_test,u=0.9):
    df=pd.DataFrame()
    df['Low']=np.array(df_alltau.T.min())
    df['Upper']=np.array(df_alltau.T.max())
    df['actual']=np.array(y_test)
    
    picp=len(df.query('Low<actual<Upper'))/len(y_test)
    
    df['inter']=df['Upper']-df['Low']
    rax=df['actual'].max()-df['actual'].min()
    pinaw=df['inter'].mean()/rax
    
    gama=np.greater(0,(picp-u))*1
    #print(gama)
    cwc=pinaw*(1+gama*np.exp(-(picp-u)))
    
    eup=df[df.assign(up=df.Upper<df.actual).up].assign(inter2=df.actual-df.Upper)['inter2'].sum()
    elo=df[df.assign(up=df.Low>df.actual).up].assign(inter2=df.Low-df.actual)['inter2'].sum()
    piee=(eup+elo)/(len(y_test)*rax)
    
    return picp,pinaw,cwc,piee

 

 df_alltau就是预测的区间估计值(对一个y预测了很多可能性),y_test就是测试集数据。

u是CWC的PICP阈值,这里取了0.9。  aita为了方便取1了。

最难整的就是PIEE,我筛选了很久.....


点估计评价指标

回归问题的点估计评价指标很常用,通常是MAE,RMSE,MAPE,r/R^{2}等,给出他们四个的计算代码:

import numpy as np
import pandas as pd
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error,r2_score

def evaluation(y_test, y_predict):
    y_test=np.array(y_test);y_predict=np.array(y_predict)
    mae = mean_absolute_error(y_test, y_predict)
    mse = mean_squared_error(y_test, y_predict)
    rmse = np.sqrt(mean_squared_error(y_test, y_predict))
    mape=(abs(y_predict -y_test)/ y_test).mean()
    r_2=r2_score(y_test, y_predict)
    return mae, rmse, mape,r_2

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试“摆烂”已经成为常态化,我们应该怎样冲出重围?

网络日新月异发展的今天&#xff0c;每隔一段时间就会出现一些新的网络热词&#xff0c;最近“摆烂”成功突出重围&#xff0c;成为大家热议的中心。什么是“摆烂”&#xff1f;“摆烂”就是事情无法向好发展的时候直接选择妥协&#xff0c;不采取任何措施加以改变&#xff0c;…

兼容 信创鲲鹏/M1 arm64架构的kafka镜像

当前热度比较高的kafka镜像是wurstmeister/kafka&#xff0c;在dockerhub上有很多的使用次数。我起初很开心最新版支持arm64架构&#xff0c;然后拉到本地用Mac M1跑也很完美 但是&#xff01;我放到信创鲲鹏的生产环境&#xff0c;导入镜像没问题&#xff0c;但一用docker-com…

IPWorks Zip Delphi 流式压缩组件

IPWorks Zip Delphi 流式压缩组件 IPWorks Zip允许开发人员使用Zip、Tar、Gzip、7-Zip、Bzip2、ZCompress或Jar压缩标准轻松地将压缩和解压缩集成到应用程序中。IPWorks Zip组件是从头开始构建的&#xff0c;将卓越的速度与出色的数据压缩比相结合。 IPWorks Zip功能 文件压…

Allegro如何给铜皮导弧操作详解

Allegro如何给铜皮导弧操作详解 当需要给如下铜皮导弧的,是一件比较麻烦的事情,但是可以用以下两个方法来实现 方法一 具体操作如下 shape-decompose shape Find选择shapes Options选择层面,比如top层,选择delete shape after decompose 框选铜皮 得到下图效果,然后…

SNMP 协议解析(一)

♥️作者&#xff1a;小刘在C站 ♥️每天分享课堂笔记&#xff0c;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的&#xff0c;绽放。 一.SNMP是什么 是基于TCP/IP协议族的网络管理标准&#xff0c;它的前身是简单网关监控协议(SGMP)&#xf…

HOST前后端分离小操作

“本地测试项目配置域名小操作” ​ 相关文章【欢迎关注该公众号“一路向东”】&#xff08;CORS处理跨域问题&#xff09;&#xff1a; CORS跨域问题配置白名单CORS_ORIGIN_WHITELIST HOSTS 本地测试域名必然少不了修改&#xff1a;C:/Windows/System32/driver/etc/host文件&…

MVVM的构建(javakotlin)

概念性的描述就不写了&#xff0c;直接上代码 MVVM框架&#xff0c;主要是构建基类&#xff0c;实现ViewModel绑定&#xff0c;ViewBinding的绑定&#xff0c;在构建好基类后&#xff0c;后续开发中新建activity或fragment的viewModel和viewBinding就会在基类的方法中实现绑定…

Python virtualenv工具设置虚拟环境和VS code调试Python

Python virtualenv工具设置虚拟环境和VS code调试Python1. Window环境下采用VS code调试Python和虚拟环境1.1 安装Python1.2 安装虚拟环境工具virtualenv1.3 Windows上使用虚拟环境的基本操作1.4 Windows上VS code使用虚拟环境2. Linux环境下采用VS code调试Python和虚拟环境2.…

SAP 一次性读取工单的所有状态(工单抬头、工序、子工序、检验特性等等)

1. 前言 支持读取状态列表 2. 实现 代码 DATA: ls_objects TYPE tca11,ls_t490_imp TYPE t490. DATA: lt_ord_pre_imp TYPE TABLE OF ord_pre. FIELD-SYMBOLS: <fs_jest> TYPE any.DATA: lt_jest TYPE TABLE OF jest."fill var ls_objects VALUE #( flg_alt X…

[搞点好玩的] JETSONNANO 受苦记 -- 001 (布置环境,未完待续)

最开始是打算从0开始自己调试适配yahboom的IO板子&#xff0c;但是后来各种版本失配翻墙困难&#xff0c;前期先是用人家的包烧录进去。(所以叫未完待续) 直接粘贴我的debug记录了哈&#xff0c;凑合看吧&#xff1a; 记录 本项目是开源的实现基于jetbot的图像处理流程项目&a…

分享购商城模式详情特点和优势解析

随着互联网的不断发展&#xff0c;市面上出现了很多新怡的商业模式&#xff0c;就以分享购这个模式举例说来&#xff0c;直接解决了消费者自买省、好省、分享赚的逻辑玩法&#xff0c;之前有一个平台一个月直接引入70万的会员&#xff0c;引爆了网络上又一波话题&#xff0c;热…

【物理应用】大气辐射和透射率模型及太阳和月亮模型(Matlab代码实现)

&#x1f496;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f947;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为…

基于分时电价策略的家庭能量系统优化附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

《计算机导论》课程学习笔记

目录 第一章认识计算机 1.1计算思维概述 1.2冯诺依曼体系结构 1.3计算机硬件组成 1.4计算机软件 1.5计算机操作系统 第一章认识计算机 1.1计算思维概述 1.计算思维能力概念 计算思维能力的核心是问题求解能力。 发现问题寻求解决问题的思路分析比较不同的方案验证方案…

47、Docker 安装 ElasticSearch、Kibana、IK分词器

1、docker hub查看pull命令 2、Docker 安装 ElasticSearch docker run -d \ --name es \ -e "ES_JAVA_OPTS-Xms512m -Xmx512m" \ -e "discovery.typesingle-node" \ -v es-data:/usr/share/elasticsearch/data \ -v es-plugins:/usr/share/elasticsearch/p…

微信小程序云开发入门详细教程

微信小程序云开发 介绍&#xff1a; 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务。 开发者可以使用云开发快速开发小程序、小游戏、公众号网页等&#xff0c;并且原生打通微信开放能力。 开发者无需搭建服务器&#xff0c;可免鉴权直接使用平台提供的 API 进行…

ly-tab插件报错

根据三方文档进行配置后一直报错&#xff0c;搞不懂因为啥&#xff0c;也查不到原因&#xff0c;头都大了&#xff0c;后来开始怀疑是版本问题&#xff0c;进行检查后发现安装的是最新版而三方文档是2.0版本&#xff08;果然是版本差异问题&#xff09; 解决办法一 将package.…

如何成为一个全栈数字化设计师

一个全栈的数字设计师需要懂业务、懂工具、还需要能处理协调部门之间的复杂协同。Ricky就是这样一个全栈数字设计师&#xff0c;在一个省属投资平台担任财务负责人的他&#xff0c;上周的直播分享了如何利用自动化工具&#xff0c;协助企业内部实现经营管理自动化的最佳实践。如…

Spring Framework6.0 发布了GA版,期待已久的新特性功能一览

全球最大的同性社交网站Github上&#xff0c;Spring Framework 6.0 正式发布GA。 Spring Framework 6.0 中的新特性 JDK 17 和 Jakarta EE 9 基线 整个框架代码库现在基于 Java 17 源代码级别。从 迁移javax到jakartaServlet、JPA 等命名空间与 Jakarta EE 9 和 Jakarta EE 1…

IPWorks SFTP Delphi版—组件消耗的资源

IPWorks SFTP Delphi版—组件消耗的资源 一个轻量级高效的SFTP客户端组件&#xff0c;支持强大的SSH 2.0加密和高级加密。 IPWorks SFTP帮助开发人员快速构建安全的文件传输应用程序。它为一个成熟的SFTP客户端提供了一个简单易用的API&#xff0c;开发人员可以使用它将SFTP支持…