调用格式:

PCA(n_components=None, *, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None)

说明:利用数据的奇异值分解将其投射到较低维空间的线性降维。在应用SVD之前,输入数据是中心化后的,但没有针对每个特征进行缩放。

参数含义

1、n_components,int, float, None or str
要保留的主成分。
1)if n_components is not set all components are kept:n_components == min(n_samples, n_features)
2)the None case results in:n_components == min(n_samples, n_features) - 1

2、copy,bool, 默认default=True
If False, 传递到fit的数据会被覆盖,运行fit(X).transform(X)将不会产生预期的结果,使用fit_transform(X)代替。

3、whiten,bool, optional (default False)
当为真(默认为假)时,components_向量乘以n_samples的平方根,然后除以奇异值,以确保输出与单位分量方差不相关。
所谓白化,就是对降维后的数据的每个特征进行标准化,让方差都为1。对于PCA降维本身来说,一般不需要白化。如果你PCA降维后有后续的数据处理动作,可以考虑白化。默认值是False,即不进行白化。

属性

1、components_:array, shape (n_components, n_features)
特征空间的主轴,表示数据中方差最大的方向。样本按explained_variance_排序。

2、explained_variance_:array, shape (n_components,)
所选择的每个分量所解释的方差量。等于X的协方差矩阵的n个最大特征值。

3、explained_variance_ratio_:array, shape (n_components,)
所选择的每个组成部分所解释的方差百分比。如果没有设置n_components,那么将存储所有主成分,并且比率的总和等于1.0。

4、n_features_:int,训练数据中的特征数。

5、n_samples_:int,训练数据中的样本数。

6、n_components_:int,估计的主成分数量。

方法

方法 说明
fit(X[, y]) 用X拟合模型。
fit_transform(X[, y]) 用X拟合模型,对X进行降维。
get_covariance() 用生成模型计算数据协方差。
get_params([deep]) 获取这个估计器的参数。
get_precision() 利用生成模型计算数据精度矩阵。
inverse_transform(X) 将数据转换回其原始空间。
score(X[, y]) 返回所有样本的平均对数似然值。
score_samples(X) 返回每个样本的对数似然值。
set_params(**params) 设置这个估计器的参数。
transform(X) 对X应用维数约简。

.fit()

fit(X, y=None)

用X拟合模型

返回值为实例本身:Returns the instance itself.

.fit_transform()

fit_transform(self, X, y=None)

用X拟合模型,对X进行降维。

.get_covariance()

get_covariance()

用生成模型计算数据协方差。

.get_param()

get_params(deep=True)

利用生成模型计算数据精度矩阵。等于协方差的逆,但为了效率,用矩阵逆引理计算。

.inverse_transform()

inverse_transform(X)

将数据转换回其原始空间。换句话说,返回一个转换为X的输入X_original。

.transform()

transform(X)

对X应用维数约简。X被投影到之前从训练集中提取的第一个主成分上。

示例代码

>>> import numpy as np
>>> from sklearn.decomposition import PCA
>>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
>>> pca = PCA(n_components=2)
>>> pca.fit(X)
PCA(n_components=2)
>>> print(pca.explained_variance_ratio_)
[0.9924... 0.0075...]
>>> print(pca.singular_values_)
[6.30061... 0.54980...]

参考文献

sklearn.decomposition.PCA

主成分分析:sklearn.decomposition.PCA相关推荐

  1. python sklearn.decomposition.PCA 主成分分析, 原理详解

    引用文章1: 主成分分析(PCA)原理详解 https://blog.csdn.net/program_developer/article/details/80632779 引用文章2: 彻底理解样本 ...

  2. PCA 主成分分析 (sklearn PCA)

          PCA(Principal Components Analysis)即主成分分析,也称主分量分析或主成分回归分析法,是一种无监督的数据降维方法 首先利用线性变换,将数据变换到一个新的坐标系 ...

  3. 机器学习教程 之 SKlearn 中 PCA 算法的运用:人脸识别实例

    文章目录 一.PCA原理简介 二. sklearn 中的PCA 三. PCA降维进行人脸识别 四.更多资源下载 一.PCA原理简介 关于主成分分析算法,即 Principal conponent an ...

  4. 【python】sklearn中PCA的使用方法

    from sklearn.decomposition import PCA PCA 主成分分析(Principal Components Analysis),简称PCA,是一种数据降维技术,用于数据预 ...

  5. python降维之时间类型数据的处理_python学习笔记之使用sklearn进行PCA数据降维

    只能说scikit-learn实在是太强大了,三言两语就能搞定PCA 1.函数原型及参数说明 sklearn.decomposition.PCA(n_components=None, copy=Tru ...

  6. 输入参数的数目不足_sklearn.decomposition.PCA 参数速查手册

    sklearn常用的API参数解析:sklearn.linear_model.LinearRegression 调用 sklearn.decomposition.PCA(n_components=No ...

  7. matlab 数据降维和重构_核主成分分析(Kernel PCA, KPCA)的MATLAB 实现

    前言 核主成分分析 (KPCA) 是一种非线性数据处理方法,其核心思想是通过一个非线性映射把原始空间的数据投影到高维特征空间, 然后在高维特征空间中进行基于主成分分析 (PCA) 的数据处理.KPCA ...

  8. python 逻辑回归sklearn_python – 分类:使用sklearn进行PCA和逻辑回归

    第0步:问题描述 我有一个分类问题,即我想基于数字特征的集合,使用逻辑回归和运行主成分分析(PCA)来预测二进制目标. 我有2个数据集:df_train和df_valid(分别是训练集和验证集)作为p ...

  9. 主成分分析法(PCA)的理解(附python代码案例)

    目录 一.PCA简介 二.举个例子 三.计算过程(公式) 3.0 题干假设 3.1 标准化 3.2 计算协方差矩阵 3.3 计算特征值和特征值向量 3.3 多重共线性检验(可跳过) 3.4 适合性检验 ...

最新文章

  1. php mysql编译安装目录_Linux下Apache PHP MySQL默认安装路径
  2. 前复权后复权程序C# .net
  3. 龙族幻想服务器维护中怎么办,龙族幻想遇到无法连接服务器?两招教你轻松解决...
  4. iSPRINT:Google 最高能的创新加速课程,绝不允许产品走弯路!
  5. 地图距离算法_基于权重的地图匹配技术
  6. PHP中的单例模式(可用于数据库连接维护)
  7. 计算机控制系统感受,计算机控制系统实验报告一.doc
  8. Matlab中对坐标轴的对数转化,loglog,semilogx与semilogy
  9. Java伽马什么意思_伽马什么意思 读音
  10. Android项目编码规范
  11. 用Python绘制漫天繁星
  12. 关于netty的中nettyio.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1异常排除
  13. 我的世界服务器怎么修改id,我的世界端游怎么改名字
  14. Python自动化之Excel去除相同数据
  15. excel一个表格分成多个怎么做?
  16. SSM+社区线上超市购物系统 毕业设计-附源码211704
  17. linux乱码文件删不掉,linux删除乱码文件或文件夹
  18. 【Docker】Dockerfile简介
  19. 【访问本地项目,localhosthost可以,本地ip不可以】
  20. 为什么下水井盖是圆的

热门文章

  1. Python程序员是科班出身好,还是去培训班好?
  2. Javascript通过元素id和name直接获取元素
  3. WORD多合1显示;同时显示多行,一行变多行;
  4. OFweek(第二届)中国人工智能产业大会AI+医疗论坛成功举办
  5. 手绘html模板,网页设计中的手绘运用
  6. 带分数乘整数怎么用计算机,整数乘以分数怎么算
  7. 【译】Flutter 2.2中的新功能
  8. saleae逻辑分析仪使用分享
  9. 美科学家发现量子纠缠幽灵与宇宙虫洞有关
  10. php批量上传大文件,php实现批量上传图片的技巧