寻找基于最优方差变异的维度
import numpy as np
from sklearn.decomposition import PCA
pca = PCA()
pca = pca.fit(data[ipt_col])
cumsum_ratio = list(np.cumsum(pca.explained_variance_ratio_))
alpha = 0.9 # 设置方差变异的最大的阈值为0.9,这个数值也可以调整。
# 寻找出最优的降维的维度数,i为最优的维度数
for i, j in enumerate(cumsum_ratio):
if j > alpha:
break
print('the best pca n_components is', i)