【光谱特征选择】竞争性自适应重加权算法CARS(含python代码)

目录

一、背景

二、代码实现

三、项目代码


一、背景

竞争性自适应重加权算法(Competitive Adaptive Reweighted Sampling,CARS)是一种用于选择高光谱数据中最具代表性波段的方法。CARS通过模拟“生物进化”过程,自适应地对光谱波段进行重加权和选择,逐步淘汰冗余和不重要的波段。具体而言,CARS利用回归系数的绝对值作为权重,通过迭代过程不断调整和优化波段选择,从而保留对模型预测最有贡献的波段。该算法具有较好的稳定性和鲁棒性,能够显著提高模型的预测性能,减少数据维度,降低计算复杂度,广泛应用于化学计量学、食品检测、环境监测等领域的光谱分析。

二、代码实现
import pandas as pd
import numpy as np# 读取数据
data = pd.read_csv("./data/peach_spectra_brix.csv")# 2. 数据处理
# m * n 
print("数据矩阵 data.shape:",data.shape)# 50个样本, 600个 波段 第一列是 桃子糖度值 需要分离开
X = data.values[:,1:]
# 等同操作
# X = data.drop(['Brix'], axis=1)y = data.values[:,0]
# 等同操作
# y = data.loc[:,'Brix'].values
print(f"X.shape:{X.shape}, y.shape:{y.shape}")# 3. 工具导入
import CARS# 4. 建模筛选
lis = CARS.CARS_Cloud(X,y)
print("获取波段数:",len(lis))
print(lis)# # 5. 导出数据
X_ = X[:,lis]

最后返回被选择波段的索引以为后续使用。

三、项目代码

本项目的代码通过以下链接下载:【光谱特征选择】竞争性自适应重加权算法CARS(含python代码)

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

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

相关文章

IP路由基础ospf

文章目录 IP路由基础路由表(RIB)和转发表(FIB) 动态路由协议动态路由协议: OSPFOSPF基础工作原理:OSPF网络类型简介DR和BDR的选举选举规则: OSPF单区域路由计算LSA报文信息LSA处理原则单区域OSPF只会产生两类LSA:Router LSA 报文详…

Swift 协议

协议 一、协议语法二、属性要求三、方法要求四、异变方法要求五、构造器要求1、协议构造器要求的类实现2.可失败构造器要求 六、协议作为类型七、委托八、在扩展里添加协议遵循九、有条件地遵循协议十、在扩展里声明采纳协议十一、使用合成实现来采纳协议十二、协议类型的集合十…

Docker桥接网络分析

前言 《虚拟局域网(VLAN)》一文中描述了虚拟网卡、虚拟网桥的作用,以及通过iptables实现了vlan联网,其实学习到这里自然就会联想到目前主流的容器技术:Docker,因此接下来打算研究一下Docker的桥接网络与此有何异同。 猜测 众所周知…

第十一届蓝桥杯C++青少年组中/高级组选拔赛2019年真题解析

一、单选题 第1题 一个C语言的源程序中,有关主函数的说法正确的是( ). A:可以有多个主函数 B:必须有一个主函数 C:必须有主函数和其他函数 D:可以没有主函数 答案: 第2题 在下面的条件语句中(其中s1和s2代表C语言…

计算机基础(8)——音频数字化(模电与数电)

💗计算机基础系列文章💗 👉🍀计算机基础(1)——计算机的发展史🍀👉🍀计算机基础(2)——冯诺依曼体系结构🍀👉&#x1f34…

如何在GlobalMapper中加载高清卫星影像?

GlobalMapper在GIS行业几乎无人不知,无人不晓,但它可以直接加载卫星影像也许就不是每个人都知道的了。 这里就来分享一下如何在GlobalMapper中加载高清卫星影像,并可以在文末查看领取软件安装包和图源的方法。 如何加载高清图源 首先&…

45-1 waf绕过 - 文件上传绕过WAF方法

环境准备: 43-5 waf绕过 - 安全狗简介及安装-CSDN博客然后安装dvwa靶场:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客打开dvwa靶场,先将靶场的安全等级调低,然后切换到文件上传 一、符号变异 在PHP中,由于其弱类型特性,有时候仅有一…

4月份新出!外网爆火的大模型黑书!内行人都在学~

今天给大家推荐一本4月份才新出的大型语言模型(LLM)的权威教程《基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理》!Google工程总监Antonio Gulli作序,一堆大佬推荐!这含金量不用多说,在这里给大…

Docker容器搭建ELK日志分析系统

Docker容器搭建ELK日志分析系统 文章目录 Docker容器搭建ELK日志分析系统资源列表基础环境一、创建容器网络二、创建容器挂载目录三、构建systemctl镜像三、构建Elasticsearch镜像3.1、构建Elasticsearch3.2、构建镜像3.3、启动容器3.4、进入容器3.5、查看节点信息 四、构建Log…

NLP基础——语言模型(动手学深度学习)

语言模型 联合概率 给定文本序列 x 1 , ⋯ , x t x_1,\cdots,x_t x1​,⋯,xt​,语言模型的目标是估计联合概率 P ( x 1 , ⋯ , x t ) P(x_1,\cdots,x_t) P(x1​,⋯,xt​). 这里的 x t x_t xt​ 可以认为是文本序列在时间步 t t t 处的观测或标签,而…

亚信安慧AntDB:卓越的拓展性和灵活性

在当今这个信息爆炸的时代,企业对数据处理的需求不断增长,传统的数据库系统往往难以应对海量数据的存储和处理挑战。然而,随着亚信安慧AntDB的出现,解决这一难题的曙光终于出现在眼前。AntDB不仅仅具备了高吞吐、高并发、高性能的…

Linux系统之mv命令的基本使用

Linux系统之mv命令的基本使用 一、mv命令介绍1. mv命令简介2. mv命令的使用结果 二、mv命令的使用帮助1. 在命令行的帮助信息2. mv常用选项 三、mv命令的基本使用1. 创建源目录和目标目录2. 新建测试文件3. 将源目录文件复制到目标目录4. 将文件进行改名5. 将目录的所有文件转移…

前端面试宝典总结4-手搓代码JavaScript(数据处理)

前端面试宝典总结4之手写代码JavaScript(数据处理) 本文章 对各大学习技术论坛知识点,进行总结、归纳自用学习,共勉🙏 上一篇👉: 前端面试宝典总结3-JavaScript(2) 文章目录 前端…

python长方形周长面积 2024年3月青少年编程电子学会python编程等级考试二级真题解析

目录 python长方形周长面积 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python长方形周长面积 2024年3月 python编程等级考试级编程题 一、…

matlab模拟太阳耀斑喷发

代码 function simulate_solar_flare% 参数设置gridSize 100; % 网格大小timeSteps 200; % 时间步数dt 0.1; % 时间步长% 初始化网格[X, Y] meshgrid(linspace(-5, 5, gridSize));Z zeros(size(X));% 设置耀斑初始位置和强度flareCenter [0, 0]; % 耀斑中心位置flareRad…

【实用技巧】Unity中的Image组件

Unity中的Image组件是UI系统的核心部分,用于显示图像和纹理。以下是一些关于Unity Image组件的实用技巧: 使用Sprite作为Image源: 将Sprite直接拖拽到Image组件的Source Image字段中,可以快速设置显示的图像。 调整颜色和透明度&a…

9 -力扣高频 SQL 50 题(基础版)

9 - 上升的温度 -- 找出与之前(昨天的)日期相比温度更高的所有日期的 id -- DATEDIFF(2007-12-31,2007-12-30); # 1 -- DATEDIFF(2010-12-30,2010-12-31); # -1select w1.id from Weather w1, Weather w2 wheredatediff(w1.recordDate,w2.recordDat…

SolidWorks功能强大的三维设计软件下载安装,SolidWorks最新资源获取!

SolidWorks,它凭借出色的三维建模能力,使得设计师们能够轻松构建出复杂且精细的机械模型,大大提升了设计效率和质量。 在机械设计领域,SolidWorks凭借其丰富的工具和特性,让设计师们能够随心所欲地挥洒创意。无论是零…

Flutter 中的 LayoutBuilder 小部件:全面指南

Flutter 中的 LayoutBuilder 小部件:全面指南 Flutter 是一个功能丰富的 UI 框架,它允许开发者使用 Dart 语言来构建高性能、美观的跨平台应用。在 Flutter 的布局系统中,LayoutBuilder 是一个强大的组件,它可以根据父容器的约束…

家政预约小程序12用户登录

目录 1 创建全局变量2 创建页面3 搭建页面4 实现登录逻辑总结 在小程序中,登录是一个常见的场景。比如我们在小程序预约或者购买时,通常要求用户先登录后购买。如果使用传统方案,登录这个动作其实最终的目的是为了获取用户的openid。而使用低…