使用PCA / SVD降维

时间:2018-08-20 08:31:44

标签: python pca

我刚刚了解了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()

0 个答案:

没有答案