如何在sklearn.preprocessing.MinMaxScaler中设置原始数组的最小值和最大值

问题描述 投票:0回答:1

我正在看

class sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), copy=True

其描述如下: 标准化由下式给出:

X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))
X_scaled = X_std * (max - min) + min

如上所示,假设原数组的最小值为X.min(axis=0)。有没有办法可以指定一个不同的最小 w.r.t 来缩放数据?

例如:我希望原始范围为[0-255],最终范围为[0-1]。现在如果原始数组不包含值 0,则最小值将被视为最小值,我不想考虑。

python numpy scikit-learn
1个回答
0
投票

如果你有一个数组

X_train
`[1,2,3,4,5,6]你也可以向它“添加”一个新的最小值:

X_train_help = numpy.append(X_train, 0)

然后在帮助数组上运行

fit
方法:

from sklearn.preprocessing import MinMaxScaler
scaler.fit(X_train_help)

并在旧数据上进行转换:

scaler.transform(X_train)
© www.soinside.com 2019 - 2024. All rights reserved.