pandas输出相关系数矩阵的特征值和特征向量
时间: 2023-10-16 16:09:54 浏览: 171
要输出 Pandas 中相关系数矩阵的特征值和特征向量,可以使用 NumPy 库中的 `linalg.eig()` 函数。具体步骤如下:
1. 导入 Pandas 和 NumPy 库:
```python
import pandas as pd
import numpy as np
```
2. 读取数据并计算相关系数矩阵:
```python
df = pd.read_csv('data.csv')
corr_matrix = df.corr()
```
3. 计算特征值和特征向量:
```python
eig_vals, eig_vecs = np.linalg.eig(corr_matrix)
```
其中,`eig_vals` 是一个包含特征值的一维数组,`eig_vecs` 是一个包含特征向量的二维数组。特征向量矩阵的每一列都对应一个特征向量,特征值是特征向量的重要程度指标。
4. 输出特征值和特征向量:
```python
print("特征值:", eig_vals)
print("特征向量:", eig_vecs)
```
输出结果类似于:
```
特征值: [2.23856353 0.65834613 0.39963434]
特征向量: [[ 0.81914538 0.56248176 -0.11058677]
[-0.57146339 0.66731079 -0.47822458]
[-0.04077196 -0.48843317 -0.87174943]]
```
特征值表示了每个特征向量的重要程度,特征向量表示了每个特征的方向。可以根据特征值大小排序,选择最大的几个特征向量作为主成分,从而实现数据降维。
阅读全文