绘制近红外光谱特征选择筛选出的变量分布图(特征波长图)
在近红外光谱数据分析建模过程中,特征选择是其中关键的一步。特征选择的原因是全部样本信息(全波长)中存在冗余信息,使得有些有效信息被抵消同时也无法突出有用的信息,这样建立的分析模型准确度和可靠性不高且计算量较大,特征选择就是最大限度的筛选出光谱数据中的有效信息,使得筛选出来的这些信息可以代表全部的样本信息,这样筛选出来的就是特征波长。写论文时需要画出筛选出来的特征波长图,去看特征波长落在哪个波段,从而查找相应作用的官能团。本文分别用python和matlab来实现两种不同的变量分布图。此处说明一下,特征波长和特征变量是同样的意思,只是叫法不一样。
用python绘制变量分布图
直接上代码:
import matplotlib.pyplot as plt
import pandas as pd
# 添加文件名即可,最多九个
name = ['full_wave.csv',
'cor_wavelength.csv',
'wave_noclass.csv',
'wave_2class.csv',
'wave_3class.csv']
new_name = ['全波长',
'相关系数变量选择',
'不分类',
'分为2类',
'分为3类']
# name = ['Full_NMir.csv',
# 'NMir_index.csv']
# new_name = ['近—中红外融合全波长',
# '近—中红外融合UDPFS波长']
sign = ['+', 'x', '*', 'o', 'v', '^', '_', 'h', '.'] # 符号
gap = 5 # 间隔
plt.figure(figsize=(7.5,6