2. 应用PCA进行降维,分别降维2维,进行2维散点图显示,并加上标签和标题。
时间: 2024-09-23 11:05:16 浏览: 55
Principal Component Analysis (PCA)是一种常用的统计学方法,用于降低数据维度的同时保留数据的主要特征。通过找到数据集中最大的方差方向(称为主成分),PCA将原始数据投影到这些新坐标轴上,从而实现降维。
下面是使用Python的sklearn库应用PCA进行2维降维并绘制散点图的一个示例:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
# 假设你有一个二维数据集df,其中包含两列数值数据
data_df = pd.DataFrame(np.random.rand(100, 4), columns=['feature_1', 'feature_2', 'feature_3', 'feature_4'])
# 提取数值特征
features = data_df.iloc[:, :-1].values
# 使用PCA降维到2维
pca = PCA(n_components=2)
principal_components = pca.fit_transform(features)
# 将降维后的数据转换为DataFrame
principal_df = pd.DataFrame(data=principal_components, columns=['PC1', 'PC2'])
# 绘制2维散点图
plt.figure(figsize=(8,6))
scatter = plt.scatter(principal_df['PC1'], principal_df['PC2'])
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.title('PCA Dimensionality Reduction to 2D')
for i, txt in enumerate(principal_df.index):
plt.annotate(txt, (principal_components[i][0], principal_components[i][1]))
plt.grid(True)
plt.show()
```
在这个例子中,我们首先提取了DataFrame的数值部分,然后用PCA将其降到2维。最后,我们在散点图中标记出每个数据点,并添加了x轴、y轴的标签和图表标题。
阅读全文