sklearn PCA

sklearn.decomposition.PCA

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

官方:link

PCA是特征降维中一种 线性降维 的方法。
与特征选择不同(直接筛选出特征),PCA是通过线性变换,将数据投影到低维线性空间来实现降维的目的。
PCA的核心思想是:将数据投影到低维线性空间时,要保证投影后的样本方差最大化。根据这个原则,就可以建立优化目标,求出投影矩阵。事实上,最后求解出来,投影矩阵的列向量(也就是低维线性空间的基)就是原样本 协方差矩阵最大的几个特征值 对应的 特征向量。

来自周志华机器学习

### 使用sklearn实现PCA主成分分析 #### 导入必要的库 为了使用PCA,需先从`sklearn.decomposition`模块中导入PCA类[^2]。 ```python from sklearn.decomposition import PCA import numpy as np ``` #### 准备数据集 通常,在应用PCA之前,应该准备好要处理的数据集。这里假设已经有了一个名为`X`的numpy数组作为输入矩阵。 #### 创建并配置PCA对象 创建PCA的一个实例可以指定参数来控制模型的行为。比如可以通过设置`n_components`参数决定保留多少个主成分[^5]。 ```python pca = PCA(n_components=2) # 这里我们只取前两个主成分 ``` #### 训练与转换数据 通过调用`fit()`方法训练PCA模型,并利用`transform()`或者更简便的方式即`fit_transform()`一次性完成拟合和变换操作来降低原始数据维度[^4]。 ```python reduced_X = pca.fit_transform(X) ``` 如果想要查看每个主成分所能解释的方差比例,则可通过访问`explained_variance_ratio_`属性获得该信息[^3]: ```python print(pca.explained_variance_ratio_) ``` 对于已经经过降维后的数据,有时可能希望将其恢复到原来的高维空间形式(尽管这会引入一些误差),这时就可以使用`inverse_transform()`函数。 ```python original_X_approx = pca.inverse_transform(reduced_X) ``` 上述过程展示了如何基于sklearn库有效地执行主成分分析任务,从而帮助理解多变量数据结构以及减少特征数量的同时尽可能保持原有信息量不变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值