首页 > 解决方案 > 使用 PCA/SVD 降维

问题描述

我刚刚了解了 PCA/SVD,我只是想确保我已经正确地实现了编码。我也很难理解增加潜在维度。这是另一种降维模型吗?

非常感谢任何指导!

问题:对于提供的数据集,执行 PCA 并绘制捕获的关于增加潜在维度的方差。捕获 (a) 至少 95% 的方差和 (b) 至少 98% 的方差的最小维度是多少?

这就是我所做的:

from sklearn.decomposition import PCA

pca95 = PCA(n_components = 0.95)
pca95.fit_transform(X)
print('95% variance retained = {:1d} 
dimensions'.format(len(pca95.explained_variance_ratio_)))
pca98 = PCA(n_components = 0.98)
pca98.fit_transform(X)
print('98% variance retained = {:1d} 
dimensions'.format(len(pca98.explained_variance_ratio_)))

pca100 = PCA(n_components = 4613)
pca100.fit_transform(X)

fig = plt.figure
plt.plot(pca100.explained_variance_ratio_.cumsum())
plt.xlabel('N Dimensions')
plt.ylabel('Cumulative Variance Retained')
plt.ylim([0,1.2])
plt.xlim([len(pca100.explained_variance_ratio_.cumsum()),0])
plt.grid()

标签: pythonpca

解决方案


推荐阅读