【光谱特征选择】竞争性自适应重加权算法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代码)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清纯世纪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值