主成分分析步骤与代码实现
时间: 2024-09-18 22:09:03 浏览: 33
主成分分析(PCA, Principal Component Analysis)是一种常用的数据降维技术,其基本步骤如下:
1. **数据标准化**:因为PCA关注的是方差贡献,所以首先需要将所有特征缩放到相同的尺度,通常是中心化(均值为0)并归一化(方差为1)。
2. **计算协方差矩阵**:对于标准化后的数据,构建协方差矩阵,描述各个特征之间的线性相关程度。
3. **特征值分解**:对协方差矩阵做特征值分解,得到一组特征值和对应的正交特征向量。特征值反映了原始特征的重要性,较大的特征值对应着更主要的方向。
4. **选择主成分**:选取最大的k个特征值对应的特征向量作为主成分,其中k是你想要保留的维度数量。
5. **投影数据**:使用选出的主成分向量将原始数据投影到新的坐标系中,这就是降维后的结果。
6. **解释主成分**:最后,你可以基于选择的主成分来解释原始数据的主要模式或结构。
以下是使用Python的sklearn库进行PCA的基本代码示例:
```python
from sklearn.decomposition import PCA
import pandas as pd
import numpy as np
# 假设df是一个包含数值数据的DataFrame
data = df.values
# 数据标准化
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
# 创建PCA对象
pca = PCA(n_components=2) # 保留2个主成分
principal_components = pca.fit_transform(scaled_data)
# 获取主成分和解释的变异度比例
explained_variance_ratio = pca.explained_variance_ratio_
# 结果展示
print("Principal Components:")
print(principal_components)
print("\nExplained Variance Ratio:")
print(explained_variance_ratio)
```
阅读全文