o2o商城网站系统开发wordpress 网站logo
2026/4/2 14:28:06 网站建设 项目流程
o2o商城网站系统开发,wordpress 网站logo,淘客网站开发公司,淘宝导购网站备案该算法主要用于处理高光谱和近红外光谱的原始数据#xff0c;主要包括标准正态变量交化#xff08;SNV#xff09;、标准化#xff08;Autoscales#xff09;、SavitZky一Golay卷积平滑法#xff08;SG-平滑#xff09;、一阶求导#xff08;1st derivative#xff09…该算法主要用于处理高光谱和近红外光谱的原始数据主要包括标准正态变量交化SNV、标准化Autoscales、SavitZky一Golay卷积平滑法SG-平滑、一阶求导1st derivative、归一化normalization、移动平均平滑moving averageMA等光谱预处理方法替换数据就可以直接使用代码注释都已经写好。搞光谱分析的朋友应该都懂原始数据那叫一个刺激——噪声比信号还抢镜基线漂移能画心电图。今天咱们直接上硬菜手把手撸一套光谱预处理全家桶保你数据从战损版秒变精修图。先来点开胃小菜标准正态变量变换SNV见过吧专治各种不服的基线漂移def snv(X): 输入: (n_samples, n_features) 的二维数组 输出: 每行数据做过SNV处理的结果 X_snv np.zeros_like(X) for i in range(X.shape[0]): mean np.mean(X[i, :]) std np.std(X[i, :]) X_snv[i, :] (X[i, :] - mean) / (std 1e-6) # 防止除零 return X_snv这招相当于给每条光谱做了个瘦身塑形让不同样本的光谱站在同一起跑线上。注意那个1e-6的小尾巴实测中发现有些光谱标准差太小会算崩加个保险栓稳如老狗。接下来是SG平滑江湖人称光谱美颜滤镜from scipy.signal import savgol_filter def sg_smooth(X, window11, order3): window建议取奇数order别超过window return savgol_filter(X, window, order, axis1)参数怎么调记住这个玄学公式窗口宽度≈特征峰宽度的1.5倍。比如你的特征峰大约覆盖7个数据点那就设window11。导数处理其实可以套用同一个函数把deriv参数改成1就是一波带走。说到导数一阶导处理也是个狠角色def first_derivative(X): # 简单粗暴的差分法 return np.diff(X, n1, axis1)注意处理完特征数会少1后续建模记得对齐。有些同行喜欢用SG导数其实效果大差不差看个人习惯。移动平均这种经典操作别看不起眼对付高频噪声特管用def moving_average(X, window3): # 边缘用镜像填充防止数据缩短 pad_width ((0,0), (window//2, window//2)) X_padded np.pad(X, pad_width, modereflect) return np.convolve(X_padded, np.ones(window)/window, modevalid)这里有个坑直接用pandas的rolling会改变数据长度咱们用numpy手写卷积镜像填充大法完美解决边界问题。最后祭出究极法宝——组合拳打法def full_pipeline(X_raw): # 处理顺序有讲究先平滑再求导 X sg_smooth(X_raw, window9, order2) X first_derivative(X) X snv(X) return X注意操作顺序先平滑去噪再求导反过来操作等于给噪声求导效果堪比拿放大镜看马赛克。标准化建议放最后因为求导会改变数据分布。实测某批近红外数据原始预测R²0.3的渣渣模型经过这套组合拳直接飙到0.87。更骚的是这些函数全都支持矩阵运算万级光谱数据也能秒处理。代码拿走不谢换数据时记得给X_raw变量喂你的光谱矩阵效果不好你来找我不包售后~

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询