You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Spyder与Visual Studio中IModPoly基线校正结果不一致?

关于BaselineRemoval库IModPoly函数在Spyder与Visual Studio中结果不一致的问题

我使用BaselineRemoval库的IModPoly函数进行基线校正,代码和数据集完全相同,但在Spyder和Visual Studio中得到的结果却不一致。朋友运行代码后得到的结果与我在Visual Studio中得到的一致。

简化代码

from BaselineRemoval import BaselineRemoval

polynomial_degree = 3 #only needed for IModPoly algorithm
input_array_train = data.copy()

print(input_array_train.shape)
print(input_array_train)

baseline_correction_train=BaselineRemoval(input_array_train).IModPoly(polynomial_degree)
    
train_raman_proc = baseline_correction_train

print(train_raman_proc.shape)
train_raman_proc

两个平台的输出

Spyder输出

(2042,)

[336167.00616779 335865.93248741 335585.7852715  ... 133592.04534896
 133576.80460859 133517.41650705]

(2042,)

array([40893.84981077, 40650.58294278, 40428.28300527, ...,
       39654.3524087 , 39840.20855015, 39982.01744302])

Visual Studio输出

(2042,)

[336167.00616779 335865.93248741 335585.7852715  ... 133592.04534896
 133576.80460859 133517.41650705]

(2042,)

array([32338.54977607, 32129.43948405, 31941.23853284, ...,
       39768.88844912, 39896.21948952, 39979.46997397])

可以看到输入数据数组完全相同,但基线校正后的输出数组存在差异。

经测试发现,这似乎与数组大小有关:若截取数组的[0:1200]或[1201:2042]分段,两个平台的结果一致;但运行整个数组(或更大的分段如[0:1300])时,结果就会不同。

从输出图可见,Spyder的IModPoly结果在1300附近似乎出现了“重启”的情况。

请问这一差异的原因是什么?


内容的提问来源于stack exchange,提问作者nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 19:55:30