天天看点

主成分分析--PCA类参数类属性类方法

目录

  • 参数
    • n_components
    • copy
    • whiten
    • svd_solver
    • tol
    • iterated_power
    • n_oversamples
    • power_iteration_normalizer
  • 类属性
    • components_
    • explained_variance_
    • explained_variance_ratio_
    • singular_values_
    • mean_
    • n_components_
    • n_features_
    • n_samples_
    • noise_variance_
    • n_features_in_
    • feature_names_in_
  • 类方法
sklearn.decomposition.PCA(n_components=None, *, copy=True,\
	whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto',\
	n_oversamples=10, power_iteration_normalizer='auto', random_state=None)
           

参数

n_components

int, float or ‘mle’, default=None

要保留的主成分数量,当不设置该参数时所有组分都将被保留n_components = min(n_samples, n_features)

关于该参数和svd_solver参数的关系如下:

该参数 svd_solver参数 其他
n_components=‘mle’ svd_solver = ‘full’ 使用Minka’s MLE 预测维度
0 < n_components < 1 svd_solver = ‘full’ 选择需要解释的方差大于n个分量所指定的百分比的分量数量
n_components=None n_components=min(n_samples, n_features) - 1
svd_solver = ‘arpack’ components 的数量必须严格小于min(n_features,n_samples)

copy

bool, default=True

如果该参数为False,拟合时数据将会被覆写;而且使用fit(X)+transform(X)将得不到期望的结果,此时应该使用 fit_transform(X)替代

whiten

bool, default=False

向量将会被乘以n_samples的平方根,然后再除以奇异值,确保不相关的输出与单位组成部分的差异

白化将从转换后的信号中删除一些信息,但有时会通过使下游估计器的数据遵守一些固有的规则等方法来提高预测的精度

svd_solver

{‘auto’, ‘full’, ‘arpack’, ‘randomized’}, default=’auto’

afterwards.

取值 描述
auto 由默认的策略根据数据X选取求解器
full 通过scipy.linalg.svd 调用标准的LAPACK求解器,直接进行完整的奇异值分解过程
arpack 通过scipy.sparse.linalg.svds调用ARPACK求解器,将奇异值分解(SVD)分为多个部分逐个求解
randomized 采用Halko等方法进行随机SVD。

tol

float, default=0.0

svd_solver = ‘arpack’时计算得到的奇异值容忍度,取值范围 :[0.0, infinity).

iterated_power

int or ‘auto’, default=’auto’

svd_solver = ‘randomized’时幂方法的迭代次数,取值范围 :[0.0, infinity).

n_oversamples

int, default=10

仅仅当svd_solver="randomized时有效,对应于额外的随机向量个数来对X的范围进行采样,以确保适当的条件

power_iteration_normalizer

{‘auto’, ‘QR’, ‘LU’, ‘none’}, default=’auto’

随机SVD求解器的幂迭代归一化器

类属性

components_

ndarray of shape (n_components, n_features)

特征空间的主轴,表示数据中方差最大的方向。

等价地,中心输入数据的右奇异向量,平行于它的特征向量

explained_variance_

ndarray of shape (n_components,)

由每个选定的成分解释的方差的数量、特征值

数值上等于等于n个分量X的协方差矩阵的最大特征值

explained_variance_ratio_

ndarray of shape (n_components,)

由每个所选组件解释的方差百分比、各主成分的贡献率

当n_components参数没有设置时,所有的特征都将被被保留而且比率之和为1

singular_values_

ndarray of shape (n_components,)

与每个选中部分相关的奇异值

mean_

ndarray of shape (n_features,)

每个特征的经验平均值,从训练集估计。数值上等于 X.mean(axis=0).

n_components_

int

主成分的估计数量

n_features_

int

训练数据中的特征数量

n_samples_

int

训练数据中的样本数量

noise_variance_

float

噪声协方差矩阵,等于X的协方差矩阵(min(n个特征,n个样本)- n个分量)最小特征值的平均值。

n_features_in_

int

拟合期间看到的特征数量

feature_names_in_

ndarray of shape (n_features_in_,)

拟合期间看到的特征名称,仅当X拥有字符串数据类型的特征名称时才定义

类方法

方法名 描述
fit(X[, y]) 使用训练数据X拟合模型
fit_transform(X[, y]) 拟合模型并对数据X进行降维
get_covariance() 根据得到的模型计算数据的协方差
get_feature_names_out([input_features]) 返回输出特征的名称
get_params([deep]) 返回模型参数
get_precision() 根据得到的模型计算数据的精度矩阵
inverse_transform(X) 将数据恢复为初始状态
score(X[, y]) 返回模型得分
score_samples(X) 返回每个数据样本的似然对数
set_params(**params) 设置模型参数
transform(X) 对数据X进行降维

继续阅读