【光谱特征选择】竞争性自适应重加权算法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,一经查实,立即删除!

相关文章

Docker桥接网络分析

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

计算机基础(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…

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

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

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…

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凭借其丰富的工具和特性,让设计师们能够随心所欲地挥洒创意。无论是零…

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

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

Python学习圣经:从0到1,精通Python使用

尼恩:LLM大模型学习圣经PDF的起源 在40岁老架构师 尼恩的读者交流群(50)中,经常性的指导小伙伴们改造简历。 经过尼恩的改造之后,很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会&#x…

【智能体】文心智能体大赛第二季持续进行中,一起在智能体的海洋里发挥你的创意吧

目录 背景作文小助手AI迅哥问答程序员黄历助手比赛时间第二期赛题丰厚奖品评选说明获奖智能体推荐文章 背景 AI应用(智能体),持续火热,一句话就能创建一个有趣、好玩的应用。 可以说一分钟内就能创建一个有创意的智能体。 看大多…

Linux网络-自定义协议、序列化和反序列化、网络计算服务器的实现和Windows端客户端

文章目录 前言一、自定义协议传结构体对象 序列化和反序列化什么是序列化?反序列化 二、计算器服务端(线程池版本)1.main.cc2.Socket.hpp3.protocol.hpp4.Calculator.hpp5.serverCal.hpp6.threadPool.hpp7.Task.hpp8. log.hpp 客户端Windows客…

我有点想用JDK17了

大家好呀,我是summo,JDK版本升级的非常快,现在已经到JDK20了。JDK版本虽多,但应用最广泛的还得是JDK8,正所谓“他发任他发,我用Java8”。 其实我也不太想升级JDK版本,感觉投入高,收…

使用AdaBoost分类方法实现对Wine数据集分类

目录 1. 作者介绍2. 什么是AdaBoost?2.1 什么是弱分类器2.2 什么是强分类器2.3 如何自适应增强2.4 如何组合弱分类器成为一个强分类器? 3. 什么是Wine数据集3.1 Wine 数据集3.2 Wine 数据集结构 4. 使用AdaBoost分类方法实现对Wine数据集分类5. 完整代码…

k8s 配置资源管理

一、Secret的资源配置 1.1 Secret配置的相关说明 Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险。 有四种类型&a…

react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目

文章目录 react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目背景Vite 和 (Create React App) CRAVite?Vite 是否支持 TypeScript? 用Vite创建react项目参考 react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项…

Java面向对象笔记

多态 一种类型的变量可以引用多种实际类型的对象 如 package ooplearn;public class Test {public static void main(String[] args) {Animal[] animals new Animal[2];animals[0] new Dog();animals[1] new Cat();for (Animal animal : animals){animal.eat();}} }class …