【发布时间】:2018-11-05 20:22:19
【问题描述】:
如果我有一个大数组,如何缩放 scikit-learn 函数 MinMaxScaler ? 所以让我们定义以下内容
import numpy as np
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range=(0, 1))
让我们考虑以下数据集
Y_train # shape = (2358331,1)
X_train # shape = (2358331,302)
现在我可以使用
扩展我的 Y_train%%time
Y_train = scaler.fit_transform(Y_train)
它工作正常,我明白了
CPU times: user 36.3 ms, sys: 104 ms, total: 141 ms
Wall time: 388 ms
但是当我对 X_train 使用相同的命令时,它需要永远,执行时间似乎与列数呈非线性关系。 所以我尝试使用循环来执行每个功能的缩放器。
for i in range(X_train.shape[1]):
scaled_feature =
scaler.fit_transform(X_train[:,i].reshape(X_train.shape[0],1))
X_train[:,i] = scaled_feature.reshape(X_train.shape[0],)
但它也是无穷无尽的。
我的问题是为什么会这样?对于这个问题,你有替代方案吗?
【问题讨论】:
标签: python scipy scikit-learn bigdata