【发布时间】:2021-03-28 11:14:03
【问题描述】:
from sklearn.datasets import make_blobs
from sklearn.decomposition import PCA
SEED = 123
X, y = make_blobs(n_samples=1000, n_features=5000, cluster_std=90., random_state=SEED)
pca = PCA(2)
pca.fit(X)
pca1, pca2 = pca.components_
pcaX = pca.transform(X)
pcaXnp = np.array([X @ pca1, X @ pca2]).T
如果您打印出 pcaX 和 pcaXnp,您会发现它们很相似,但彼此不一致。为什么这些应该不同?似乎“.components_”应该返回 sklearn 将矩阵乘以的内容,是否有理由说明它只是乘法的近似值?
【问题讨论】:
标签: python numpy scikit-learn pca