【发布时间】:2019-03-07 15:40:44
【问题描述】:
我在X_train 上应用了CountVectorizer(),它返回了一个稀疏矩阵。
通常如果我们想标准化稀疏矩阵,我们传入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)吗?
【问题讨论】:
-
据我所知,数据标准化是 PCA 算法的一部分。因此,在我看来,您可以保留
with_mean=False原样。你同意吗? -
@Rubens_Zimbres 我不认为数据标准化是 PCA 算法的一部分,但我们通常更喜欢在将数据传递给 PCA 之前对其进行缩放。否则,某些变量的大小决定了变量之间的关联。下面的答案确实解释了为什么我们传入
with_mean=False。实际上我确实认为我们可以直接应用它而无需with_mean参数。我很想看到其他回复。
标签: python machine-learning scikit-learn pca