处理光谱数据#

chemotoolsscikit-learn 中处理光谱数据时,通常需要重新调整单个光谱的形状以符合预期的数据格式。本指南说明如何为 scikit-learnchemotools 中的预处理重新调整单个光谱的形状。

理解数据形状#

chemotoolsscikit-learn 的预处理技术期望使用二维数组(矩阵),其中:

  • 每一行代表一个样本

  • 每一列代表一个特征

然而,光谱数据通常以一维数组(向量)形式的单个光谱出现。以下是一个单个光谱的示例:

array([0.484434, 0.485629, 0.488754, 0.491942, 0.489923, 0.492869,
       0.497285, 0.501567, 0.500027, 0.50265])

要在单个光谱上使用 chemotoolsscikit-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-learnchemotools 预处理技术所需的格式。

现在,您可以将重新调整形状后的单个光谱与 chemotoolsscikit-learn 预处理技术一起使用:

import numpy as np
from chemotools.scatter import MultiplicativeScatterCorrection

msc = MultiplicativeScatterCorrection()
spectra_msc = msc.fit_transform(spectra_2d))