#导入库
from sklearn.decomposition import PCA
#PCA是一个类,我们用下面的命令查看PCA这个类的一些属性
help(PCA)
'''
class PCA(sklearn.decomposition.base._BasePCA)
| PCA(n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None)
'''


#我们重点说明一下n_components这个参数的含义,这个参数的默认取值为None.
#给这个参数赋值的时候可以是一个整数,比如为3,则这个参数的意思是你提前前3个特征(主成分)。
#如果这个参数赋值的时候你赋值为0-1之间的一个浮点数比如0.8,则是指定让其选择前k个主成分,使得这k个主成分能包含原变量所有信息的0.8
在实际的应用中,我们通常会将这个参数值设定为多少呢?
其实这个是没有固定标准的,现在就说一下我发现的一些经验。
如果n_components这个参数你想设定为0-1之间的一个浮点数,统计学人通常会设定为80%,也就是要求包含的主成分对原变量能够解释80%。
如果n_components这个参数你想设定一个整数,你可以多试几次,比如第一次设定为5,然后看下能解释原变量的百分之多少,然后再逐步减少主成分的个数,比如设定为4试试,看下总解释程度是否明显降低。