下面有简单的代码。我希望像一列一样将所有数据标准化。但我有这样的想法:
from sklearn.preprocessing import MinMaxScaler
data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
scaler = MinMaxScaler()
print(data)
print(scaler.fit_transform(data))
[[-1, 2],
[-0.5, 6],
[0, 10],
[1, 18]]
[[0. 0. ]
[0.25 0.25]
[0.5 0.5 ]
[1. 1. ]]Python单独的列并将其单独规范化。因此,我们在两列中有相同的值。原则上,我可以将第一列和第二列合并为一列,然后再分开。但我不认为这个主意是最好的。
任何想法都欢迎..。
更新
我不希望每列都有规范化数据。我希望如此。
from sklearn.preprocessing import MinMaxScaler
data = [[-1], [-0.5], [0], [1], [2], [6], [10], [18]]
scaler = MinMaxScaler()
print(data)
print(scaler.fit_transform(data))
[[-1], [-0.5], [0], [1], [2], [6], [10], [18]]
[[0. ]
[0.02631579]
[0.05263158]
[0.10526316]
[0.15789474]
[0.36842105]
[0.57894737]
[1. ]]但我还是想要两栏。
如下所示:
[[0. , 0.15789474]
[0.02631579, 0.36842105]
[0.05263158, 0.57894737]
[0.10526316, 1. ]]发布于 2021-11-12 08:13:55
在您的示例中,您应该简单地应用min转换公式,而不是使用sklearn模块:
import numpy as np
data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
print(data)
print((data-np.min(data))/(np.max(data)-np.min(data)))
[[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
[[0. 0.15789474]
[0.02631579 0.36842105]
[0.05263158 0.57894737]
[0.10526316 1. ]]https://stackoverflow.com/questions/69938254
复制相似问题