我在CountVectorizer()
上应用了X_train
,它返回了一个稀疏矩阵。
通常,如果要标准化稀疏矩阵,我们将传递with_mean=False
参数。
scaler = StandardScaler(with_mean=False)
X_train = scaler.fit_transform()
但是在我的案例中,在X_train
上应用CountVectorizer之后,我还执行了PCA(TruncatedSVD)来减小尺寸。现在我的数据不是稀疏矩阵。
那么我现在可以直接应用StandardScaler()
而不通过with_mean=False
(i.e with_mean=True)
吗?
答案 0 :(得分:1)
如果您将with_mean
参数用作look,则会发现它只是在缩放之前对数据进行居中。不将稀疏矩阵居中的原因是,当您尝试将稀疏矩阵居中时,它将转换为密集矩阵并占用更多内存,从而首先破坏了稀疏性。
执行PCA后,您的数据将减小尺寸,现在可以在缩放之前居中。因此,可以的,您可以直接应用StandardScaler()
。