我可以标准化我的PCA应用计数向量吗?

时间:2019-03-07 15:40:45

标签: python machine-learning scikit-learn pca

我在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)吗?

1 个答案:

答案 0 :(得分:1)

如果您将with_mean参数用作look,则会发现它只是在缩放之前对数据进行居中。不将稀疏矩阵居中的原因是,当您尝试将稀疏矩阵居中时,它将转换为密集矩阵并占用更多内存,从而首先破坏了稀疏性。

执行PCA后,您的数据将减小尺寸,现在可以在缩放之前居中。因此,可以的,您可以直接应用StandardScaler()