主成分分析:sklearn.decomposition.PCA

调用格式:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值