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

如何使用sklearn的MinMaxScaler以自定义值为参照完成数据缩放

两种更简便的实现方案,都不需要修改原数据集


方案1:直接手动计算(最轻量化,无需依赖sklearn内部逻辑)

MinMaxScaler的核心缩放公式非常简单,你完全可以自己实现,直接代入自定义的上下限即可:

import numpy as np

# 原始数据
raw_data = np.array([[45724.25], [45570.08], [45584.31], [45549.79]])
# 自定义参照上下限,这里最小值默认用0,你可以按需修改
custom_min = 0
custom_max = 100000

# 直接计算缩放结果
scaled_data = (raw_data - custom_min) / (custom_max - custom_min)

方案2:复用MinMaxScaler实例(适合需要和sklearn pipeline/其他组件兼容的场景)

你可以手动设置MinMaxScaler的内部统计属性,跳过从输入数据自动统计最大/最小值的步骤,无需修改原数据:

from sklearn.preprocessing import MinMaxScaler
import numpy as np

raw_data = np.array([[45724.25], [45570.08], [45584.31], [45549.79]])

scaler = MinMaxScaler(feature_range=(0,1))
# 手动配置缩放用的基准值
scaler.data_min_ = np.array([0]) # 对应特征的最小值基准
scaler.data_max_ = np.array([100000]) # 对应特征的最大值基准
scaler.n_samples_seen_ = len(raw_data)
scaler.n_features_in_ = 1 # 你的特征数量

# 直接调用transform即可,无需先fit
scaled_data = scaler.transform(raw_data)

生成的scaler实例可以复用,后续新数据可以直接用同一基准缩放,和常规fit得到的scaler用法完全一致。

如果你需要自定义最小值基准,只需要对应修改上面的custom_min或者scaler.data_min_取值即可,逻辑不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:15:03