【发布时间】:2021-02-08 00:11:31
【问题描述】:
在学习 ML 的过程中,我对 sklearn 提供的 MinMaxScaler 感到困惑。目标是将数值数据标准化为[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 做错了什么或误解了什么?因为考虑诸如时间序列训练之类的事情,将价格或温度等重要数字转换为上述破碎的东西是没有意义的?
【问题讨论】:
标签: python scikit-learn data-science normalizing