处理光谱数据#
在 chemotools 和 scikit-learn 中处理光谱数据时,通常需要重新调整单个光谱的形状以符合预期的数据格式。本指南说明如何为 scikit-learn 和 chemotools 中的预处理重新调整单个光谱的形状。
理解数据形状#
chemotools 和 scikit-learn 的预处理技术期望使用二维数组(矩阵),其中:
每一行代表一个样本
每一列代表一个特征
然而,光谱数据通常以一维数组(向量)形式的单个光谱出现。以下是一个单个光谱的示例:
array([0.484434, 0.485629, 0.488754, 0.491942, 0.489923, 0.492869,
0.497285, 0.501567, 0.500027, 0.50265])
要在单个光谱上使用 chemotools 和 scikit-learn,您需要将一维数组重新调整为只有一行的二维数组。
为预处理重新调整形状#
以下是如何将一维数组重新调整为只有一行的二维数组:
import numpy as np
spectra_2d = spectra_1d.reshape(1, -1)
reshape(1, -1) 方法将一维数组 spectra_1d 转换为只有一行的二维数组。结果(spectra_2d)如下所示:
array([[0.484434, 0.485629, 0.488754, 0.491942, 0.489923, 0.492869,
0.497285, 0.501567, 0.500027, 0.50265]])
备注
重新调整后的输出是一个只有一行的二维数组——这是 scikit-learn 和 chemotools 预处理技术所需的格式。
现在,您可以将重新调整形状后的单个光谱与 chemotools 和 scikit-learn 预处理技术一起使用:
import numpy as np
from chemotools.scatter import MultiplicativeScatterCorrection
msc = MultiplicativeScatterCorrection()
spectra_msc = msc.fit_transform(spectra_2d))