如何使用sklearn标准化2D数组?

巴兰通吉夫

给定2D数组,我想将其规格化为0-1。

我知道这可以实现如下

import numpy as np
from sklearn.preprocessing import normalize,MinMaxScaler

np.random.seed(0)
t_feat=4
t_epoch=3
t_wind=2

result = [np.random.rand(t_epoch, t_feat) for _ in range(t_wind)]
wdw_epoch_feat=np.array(result)
matrix=wdw_epoch_feat[:,:,0]

xmax, xmin = matrix.max(), matrix.min()
x_norm = (matrix - xmin)/(xmax - xmin)

产生

[[0.55153917 0.42094786 0.98439526], [0.57160496 0.         1.        ]]

不过,我可以使用没有得到同样的结果MinMaxScalersklearn

scaler = MinMaxScaler()
x_norm = scaler.fit_transform(matrix)

产生

[[0. 1. 0.], [1. 0. 1.]]

感谢任何想法

您正在标准化整个矩阵。MinMaxScaler专为机器学习而设计,因此可根据定义方式对每行或每列进行标准化。为了获得与您相同的结果,您需要将2D阵列转换为1D阵列。我在下面显示此内容,并在第一列中获得相同的结果:

import numpy as np
from sklearn.preprocessing import normalize, MinMaxScaler

np.random.seed(0)
t_feat=4
t_epoch=3
t_wind=2

result = [np.random.rand(t_epoch, t_feat) for _ in range(t_wind)]
wdw_epoch_feat=np.array(result)
matrix=wdw_epoch_feat[:,:,0]

xmax, xmin = matrix.max(), matrix.min()
x_norm = (matrix - xmin)/(xmax - xmin)


matrix = np.array([matrix.flatten(), np.random.rand(len(matrix.flatten()))]).T
scaler = MinMaxScaler() 
test  = scaler.fit_transform(matrix)

print(test)
-------------------------------------------
[[0.55153917 0.        ]
 [0.42094786 0.63123194]
 [0.98439526 0.03034732]
 [0.57160496 1.        ]
 [0.         0.48835502]
 [1.         0.35865137]]

当使用MinMaxScaler进行机器学习时,通常需要标准化每列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

numpy标准化4D数组的2D子集

来自分类Dev

在C中标准化2d数组时值不正确

来自分类Dev

如何在IPP中执行非标准化的2D互相关

来自分类Dev

标准化2D / 3D矢量/坐标类

来自分类Dev

标准化Numpy数组

来自分类Dev

Numpy 3D数组-标准化行

来自分类Dev

如何使用舍入结果对数组进行标准化(python,numpy,scipy)

来自分类Dev

如何在python中标准化numpy数组

来自分类Dev

如何标准化直方图

来自分类Dev

Java:如何使用nio Path标准化路径?

来自分类Dev

如何使用awk“标准化”记录列表

来自分类Dev

数组的列式标准化(缩放)

来自分类Dev

在php中标准化多维数组

来自分类Dev

在训练数据标准化后使用sklearn预测新数据

来自分类Dev

KMeans是否自动在sklearn中标准化功能

来自分类Dev

如何从平面标准化的对象数组生成祖先的平面数组?

来自分类Dev

如何在熊猫中标准化

来自分类Dev

如何标准化数据格式?

来自分类Dev

如何标准化 OPUS 文件的音量

来自分类Dev

如何标准化熊猫中的行?

来自分类Dev

如何标准化趋势数据?

来自分类Dev

在 3d 蒙版中贬低和标准化 4d 数组?

来自分类Dev

使用jq来“标准化” JSON

来自分类Dev

Pathlib使用“ $”“标准化” UNC路径

来自分类Dev

使用dplyr标准化变量[r]

来自分类Dev

使用熊猫标准化数据

来自分类Dev

使用jq来“标准化” JSON

来自分类Dev

标准化2个javascript数组以使其看起来相同

来自分类Dev

标准化2个javascript数组以使其看起来相同