目录
1 原始光谱
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
def PlotSpectrum(spec):
"""
:param spec: shape (n_samples, n_features)
:return: plt
"""
plt.figure(figsize=(5.2, 3.1), dpi=300)
x = np.arange(400, 400 + 2 * spec.shape[1], 2)
for i in range(spec.shape[0]):
plt.plot(x, spec[i, :], linewidth=0.6)
fonts = 8
plt.xlim(350, 2550)
# plt.ylim(0, 1)
plt.xlabel('Wavelength (nm)', fontsize=fonts)
plt.ylabel('absorbance (AU)', fontsize=fonts)
plt.yticks(fontsize=fonts)
plt.xticks(fontsize=fonts)
plt.tight_layout(pad=0.3)
plt.grid(True)
return plt
mat = sio.loadmat('ndfndf.mat')
data = mat['ndfndf']
x, y = data[:, :1050], data[:, 1050]
print(x.shape, y.shape)
pp = PlotSpectrum(x)
pp.show()

2 中心化处理
def mean_centralization(sdata):
"""
均值中心化
"""
temp1 = np.mean(sdata, axis=0)
temp2 = np.tile(temp1, sdata.shape[0]).reshape((sdata.shape[0], sdata.shape[1]))
return sdata - temp2
x = mean_centralization(x)
pp = PlotSpectrum(x)
pp.show()

3 标准化处理
def standardlize(sdata):
"""
标准化
"""
from sklearn import preprocessing
return preprocessing.scale(sdata)
x = standardlize(x)
pp = PlotSpectrum(x)
pp.show()

1122





