在学习 ML 的过程中,我对MinMaxScaler
sklearn 提供的内容感到困惑。目标是将数值数据标准化为[0, 1]
.
示例代码:
from sklearn.preprocessing import MinMaxScaler
data = [[1, 2], [3, 4], [4, 5]]
scaler = MinMaxScaler(feature_range=(0, 1))
scaledData = scaler.fit_transform(data)
给出输出:
[[0. 0. ]
[0.66666667 0.66666667]
[1. 1. ]]
第一个数组[1, 2]
变成[0, 0]
了我眼中的意思:
- 数字之间的比例消失了
- 没有值(不再)具有任何重要性,因为它们都设置为最小值(0)。
我所期望的示例:
[[0.1, 0.2]
[0.3, 0.4]
[0.4, 0.5]]
这将保存比率并将数字放入0 到 1的范围内。
我在MinMaxScaler
这里做错了什么或误解了什么?因为考虑诸如时间序列训练之类的事情,将价格或温度等重要数字转换为上述破碎的东西是没有意义的?