sklearn.preprocessing.MinMaxScaler() 只返回 0 或 1,而不是 float

Kak*_*odt 5 python-3.x scikit-learn

无论出于何种原因,这只返回 0 或 1,而不是它们之间的浮动。

from sklearn import preprocessing

X = [[1.3, 1.6, 1.4, 1.45, 12.3, 63.01,],
    [1.9, 0.01, 4.3, 45.4, 3.01, 63.01]]

minmaxscaler = preprocessing.MinMaxScaler()
X_scale = minmaxscaler.fit_transform(X)

print(X_scale) # returns [[0. 1. 0. 0. 1. 0.] [1. 0. 1. 1. 0. 0.]]
Run Code Online (Sandbox Code Playgroud)

Roi*_*oim 3

Minmax Scaler 不能使用列表列表,它需要使用 numpy 数组(或数据帧)。

您可以转换为 numpy 数组。它将产生 6 个特征和 2 个样本,我想这不是你的意思,所以你还需要重塑。

import numpy

X = numpy.array([[1.3, 1.6, 1.4, 1.45, 12.3, 63.01,],
    [1.9, 0.01, 4.3, 45.4, 3.01, 63.01]]).reshape(-1,1)
Run Code Online (Sandbox Code Playgroud)

MinMax Scaler 后的结果:

[[0.02047619]
 [0.0252381 ]
 [0.02206349]
 [0.02285714]
 [0.19507937]
 [1.        ]
 [0.03      ]
 [0.        ]
 [0.06809524]
 [0.72047619]
 [0.04761905]
 [1.        ]]
Run Code Online (Sandbox Code Playgroud)

不确定您是否想要单独或一起最小化每个列表