一、什么是维度
数组和Series:维度就是功能shape返回的结果,shape中返回了几个数字就是几维。
特征矩阵或Dataframe:维度就是样本的数量或特征的数量。
图像:维度就是图像中特征向量的数量
二、什么是降维
降维算法中的“降维”,指的是降低特征矩阵中特征的数量。
降维的目的:1、让算法运算更快,效果更好;2、数据可视化
三、sklearn中的降维算法
四、PCA的实现
from sklearn.decomposition import PCA
pca = PCA(n_components=2 #实例化,n_components是我们降维后需要的维度。n_components=“mle”表示用最大似然估计
)
# pca = PCA(n_components=0.97,svd_solver="full")) #按信息量占比选超参数,表示保留百分之多少的信息量。#n_components=0.97表示保留97%的信息量
pca = pca.transform(x) #拟合模型
X_dr = pca.transform(X) #获取新矩阵
X_dr
#也可以fit_transform一步到位
#X_dr = PCA(2).fit_transform(X)
五、PCA的重要属性
components_查看选择后的特征
六、重要接口
注意:PCA降维后的数据不具有解释性,并且用inverse_transform也恢复不了原数据
#将降维后的矩阵用inverse_transform返回原空间
x_inverse = pca.inverse_transform(X_dr)
七、应用
(1)高维数据可视化
将多维转化为含有二维特征的数据,然后进行画图,可以查看数据的大致分布图
在这里插入代码片