根据菜菜的课程进行整理,方便记忆理解
代码位置如下:
参数列表
| n_components | 整数,浮点数,None或输入字符串 要保留的特征数量。若不填写,则保留的特征数量为数据最小维度min(X.shape) - 输入“mle"并且参数svd_solver == "full",表示使用Minka, T.P的自动选择PCA维度法来猜测维度。注意输入“mle”参数后,svd_solver == "auto"也会被理解为svd_solver=="full"。 - 输入,[0,1]之间的浮点数且svd_solver == full,表示选择让”需要解释的总方差量"大于n_components指定的数目的那些特征" - 输入"None",则保留的特征数量为数据最小维度 -1,即min(X.shape) - 1 - 如果svd_solver == "arpack",则特征数必须严格小于数抿最小维度min(X.shape) |
|---|---|
| copy | 布尔值,可不填,默认True 如果为False,则传递给fit的数据将被覆盖并目运行fit(X).transform(X) 将不会产生预期结果,请改用fit_trancform(X) |
| whiten | 布尔值,可不填,默认False 控制输入PCA的特征矩阵的白化。白化是数据预处理的一种,其目的是去掉特征与特征之间的相关性.并将所有特征的方差都归一化。当为True时, components_(即奇异值分解中分解出夹的矩阵v)中的向量会乘以样本数量的平方根sqrt(n_samples),然后除以奇异值异(奇异矩阵的对角线上的元素i),以确保特征向量之间不相关并且每个特征都具有单位方差。 白化将从变化后的信号中去除一些信息(比如特征之间的相对方差量纲),但有时可以通过便数据遵循一些硬连线假设来提高下游估计器的预测精度。 |
| svd_solver | |
| tol | 大于等于0的浮点数,默认为0 当svd_solver为'arpaok'的时候,计算奇异值所需要的容差 |
| iterated_power | 输入大于0的整数,或者"auto", 默认"auto 当svd_solver的时候'randomized',计算的幂方法的迭代次数. |
| random state | 整数,sklearn中设定好的RandomState实例,成None,可不填,默认None 仅当参数svd_ solver的值为'arpack' or 'randomized'的时候才有效。 1) 输入整数random state是由随机数生成随机数种子 2) 输入RandomState实例,则random_state是个随机数生成器 3) 输入None,随机数生成器会是np.random模块中的一个Randomstate实例 |
属性列表
| components_ | 数组结构为(n_components, n_features) 新特征空间V中的特征向量的方向,按explained_variance_的大小排序 |
|---|---|
| explained_variance_ | 数组,结构为(n_components,) 每个所选特征的解释性方差 等于x的协方差矩阵的前n_components个最大特征值 |
| explained_variance_ratio_ | 数组,结构为(n_components,) 每个所选特征的解释性方差占原数据方差综合的百分比 如果没有输入任何n_components,则保留所有的特征,并且比率综合为1 |
| singular_values_ | 数组,结构为(n_components,) 返回每个所选特征的奇异值。奇异值等于低维空间中n_components变量的2范式 |
| mean_ | 数组,结构为(n features,) 从训练集估计出的每个特征的均值,数值上等于X.mean(axis=0) |
| n_components_ | 整数 估计的特征数量。当参数n_components被设置为mle或0 ~ 1之间的数字时(并且svd_solver被设置为"full"),将根据输入的特征矩阵估算降维后的特征个数。否则,这个属性会等于输入参数n_components 中的值。如果参数n_components被设置为None,这个属性会返回min(X.shape),即数据的最小维度 |
| noise_variance_ | 浮点数 根据1999年Tipping和Bishop的Probabilistic PCA模型估计的噪声协方差。需要计算估计的数据协方差和分数样本。等于特征矩阵的协方差矩阵的(min(X .shape) - n_components)的最小特征值的平均值 |
接口列表
| 接口 | 输入 | 含义 | 返回 |
|---|---|---|---|
| fit | 特征矩阵x | 使用特征矩阵拟合模型 | 拟合好的模型本身 |
| transform | 特征矩阵x | 将降维应用到特征矩阵 | 降维后的特征矩阵 |
| fit_transform | 特征矩阵x | 使用特征矩阵拟合模型并且在特征矩阵上应用降维 | 降维后的特征矩阵 |
| inverse transform | 特征矩阵x | 将数据转换回原始空间 | 返回到原始空间的矩阵,该矩阵与原始特征矩阵结构相同,但数据不同 |
| score | 特征矩阵x | 返回所有样本的平均对数似然 | 略 |
| score_samples | 不需要输入任何对象 | 返回每个样本的对数似然 | 略 |
| get_covariance | 不需要输入任何对象 | 在生成的模型上计算数据的协方差矩阵 | 数据的协方差 协方差的公式为: cov=components_.T * S ^ 2 * components_ + sigma2 * eye(n_features) 其中S^2包含解释的方差,sigma2包含噪声方差 |
| get_precision | 不需要输入任何对象 | 在生成的模型上计算数据的精度矩阵 | 返回估计数据的精确度。 等于协方差的倒数,但用矩阵求逆引理来提升计算效率 |
| get_params | 不需要输入任何对象 | 获取此评估器的参数 | 模型的参数 |
| set_params | 新参数组合 | 在建立好的模型上,重新设置此评估器的参数 | 用新参数组合重新实例化和训练的模型 |