光谱 波长_遗传偏最小二乘法GA-PLS和近红外光谱波长选择(论文+实装)

以前试着玩了下shootout的药物有效浓度和NIR光谱的数据集。一块钱买中巴:用python进行近红外光谱解析​zhuanlan.zhihu.com结果如下用线性的手法岭回归比非线性的随机森林的结果要好很多。这可能是因为数据集不是很大吧。然后使用了自带的基于随机森林的特征量重要度来筛选特征值的模组来去掉了一些特征值,重新建回归模型,结果随机森林好了一些,但是岭回归反而变差了一点,整体上好像没啥改...
摘要由CSDN通过智能技术生成

以前试着玩了下shootout的药物有效浓度和NIR光谱的数据集。

一块钱买中巴:用python进行近红外光谱解析​zhuanlan.zhihu.com

结果如下

4f02e518f498a95c068e77aa31534c45.png

用线性的手法岭回归比非线性的随机森林的结果要好很多。这可能是因为数据集不是很大吧。然后使用了自带的基于随机森林的特征量重要度来筛选特征值的模组来去掉了一些特征值,重新建回归模型,结果随机森林好了一些,但是岭回归反而变差了一点,整体上好像没啥改进。

在网上找了一篇论文Application of genetic algorithm–PLS for feature selection in spectral data sets

https://onlinelibrary.wiley.com/doi/abs/10.1002/1099-128X%28200009/12%2914%3A5/6%3C643%3A%3AAID-CEM621%3E3.0.CO%3B2-E​onlinelibrary.wiley.com

这是一个2000年左右的老文。使用的是genetic algorithm–PLS(GAPLS)来解析的波长数据。估计是同样的有高维度和数据集不大的限制吧,用的是线性回归手法的偏最小二乘法。这个文章挺有意思的,有对用机器学习的方法解析NIR数据的一些简单介绍。这篇文章使用了大豆粉,汽油,间苯二酚,不知名食品,小麦五组近红外光谱的数据集。结果还可以而且清楚地选择出来了相关的频段。

38545cd269651f5e1149e9efabd30e1a.png
使用数据集,更具体可参考原论文

原来论文里的代码使用matlab实装的。Python的话遗传算法一般用deap这个包。老实说感觉遗传算法还挺复杂的。关于遗传算法的文章挺多就不详细介绍了。优化算法都是这样的,有一个函数,里面有一堆参数,找到一个最好的参数组合使得函数输出达到最大或最小

导入shootout数据集并进行处理

import urllib.request 
import pandas as pd
import numpy as np
import rando
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值