Python数据预处理:使用 PCA 进行降维 读入 heart.csv 文件,用 PCA 方法进行降维,要求输出特征向量、维度压缩的数量(依 据是什么)以及降维后的结果。

  1. 使用 PCA 进行降维
    读入 heart.csv 文件,用 PCA 方法进行降维,要求输出特征向量、维度压缩的数量(依
    据是什么)以及降维后的结果。
    在这里插入图片描述

附上源代码:

import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
data = pd.read_csv(r'heart.csv',header=None,delimiter=' ')
pca = PCA()
pca.fit(data)
print('特征向量\n',pca.components_)
print('各个成分各自的方差百分比(贡献率)\n',pca.explained_variance_ratio_)
#特征向量的维度和长度
len(pca.components_), pca.components_.shape

# 根据计算结果,前四分主成分即达到贡献率99.77%,
pca=PCA(4)
pca.fit(data)
low_d = pca.transform(data)
print(low_d)
#计算压缩维数:
np.array(list(data.shape))-np.array(list(pca.components_.shape))
#还原
inv_result = pca.inverse_transform(low_d)
print(inv_result)   #降维有损
#贡献率99.77%,但维数不变
print(inv_result.shape)
print(data)

猜你喜欢

转载自blog.csdn.net/missionnn/article/details/121191490