【发布时间】:2019-03-05 13:20:12
【问题描述】:
我有一个 numpy 数组,我想使用以下过程将每行的值重新调整为 0 到 1 之间的值:
如果给定行的最大值为X_max,而该行的最小值为X_min,则该行中给定条目 (X) 的重新缩放值 (X_rescaled) 应变为:
X_rescaled = (X - X_min)/(X_max - X_min)
例如,让我们考虑以下数组 (arr):
arr = np.array([[1.0,2.0,3.0],[0.1, 5.1, 100.1],[0.01, 20.1, 1000.1]])
print arr
array([[ 1.00000000e+00, 2.00000000e+00, 3.00000000e+00],
[ 1.00000000e-01, 5.10000000e+00, 1.00100000e+02],
[ 1.00000000e-02, 2.01000000e+01, 1.00010000e+03]])
目前,我正在尝试通过以下方式使用来自scikit-learn 的MinMaxscaler:
from sklearn.preprocessing import MinMaxScaler
result = MinMaxScaler(arr)
但是,我不断得到我的初始数组,即result 与上述方法中的arr 相同。我究竟做错了什么?
如何以我需要的方式缩放数组 arr(沿每个轴的最小-最大缩放?)提前致谢。
【问题讨论】:
标签: python arrays numpy scikit-learn