数据压缩技术可以帮助我们对数据进行存储和分析,特征提取通过归纳总结数据集所蕴含的信息,可以将原始数据集变换到一个维度更低的新的特征子空间,从而实现数据压缩。
无监督数据降维技术——主成分分析
主成分分析是一种广泛应用于不同领域的无监督线性数据转换技术,其突出作用是降维。
PCA的目标是在高维数据中找到最大方差的方向,并将数据映射到一个维度不大于原始数据的新的子空间上。
如果使用PCA降维,我们将构建一个 d * k维的转换矩阵 W,这样可以将一个样本向量 x 映射到一个新的 k 维特征子空间上去,此空间的维度小于原始的 d 的维特征空间:
完成从原始 d 维数据到新的 k 维子空间,第一主成分的方差应该是最大的,由于各主成分之间是不相关的(正交的),后续主成分也具备尽可能大的方差。需要注意的是,主成分的方向对数据值的范围高度敏感,因此,需要先对特征进行标准化处理,以让各特征具有相同的重要性。
import pandas as pd
df_wine = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data', header=None)
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
X, y = df_wine.iloc[:, 1:].values, df_wine.iloc[:, 0].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
sc = StandardScaler()
X_train_std = sc.fit_transform(X_train)
X_test_std = sc.transform(X_test)
通过上述代码完成数据的预处理后,进入第二步:构造协方差矩阵。可通过如下公式计算两个特征 xj x j 和