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

Python中如何生成[0,1]区间上的Legendre多项式正交归一基?

通用归一化与区间转换方法

不存在绝对通用的归一化因子,因为归一化策略完全取决于你的数据分布和业务需求,但有几种通用的区间转换公式可以手动实现,不需要依赖特定模块:

1. 最小-最大归一化(Min-Max Scaling)

这是最常用的区间转换方法,默认把数据映射到[0, 1]区间,公式:

X_norm = (X - X_min) / (X_max - X_min)

如果要映射到任意自定义区间[a, b],扩展公式:

X_norm = a + (b - a) * (X - X_min) / (X_max - X_min)

Python手动实现示例:

def min_max_scale(data, target_range=(0, 1)):
    x_min = min(data)
    x_max = max(data)
    a, b = target_range
    return [a + (b - a) * (x - x_min) / (x_max - x_min) for x in data]

2. Z-score标准化(Standardization)

把数据转换为均值为0、标准差为1的分布,适合数据近似正态分布或存在异常值的场景,公式:

X_std = (X - X_mean) / X_std

Python手动实现示例:

def z_score_normalize(data):
    mean = sum(data) / len(data)
    std = (sum((x - mean)**2 for x in data) / len(data))**0.5
    return [(x - mean) / std for x in data]

3. 小数定标归一化

通过移动小数点位置将数据映射到[-1, 1]区间,公式:

X_norm = X / 10^d

其中d是使得所有数据绝对值小于1的最小整数(比如数据最大值是123,d=3,除以1000即可)。

选择建议

  • 若需要数据落在固定区间(比如神经网络输入层),优先选最小-最大归一化
  • 若数据有异常值或后续分析需要服从正态分布,选Z-score标准化
  • 若数据量级差异极大且无明显分布规律,可尝试小数定标归一化

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:22:08