特征转换:PCA和LDA的教程
特征转换:PCA和LDA教程
使用主成分分析(PCA)等方法降低数据集的维度
简介
在处理高维数据时,通常使用主成分分析(PCA)等方法来降低数据的维度。这将数据转换为一组不同(较低维度)的特征。这与特征子集选择不同,特征子集选择是选择原始特征的子集(有关特征选择的教程,请参见[1])。
PCA是将数据线性转换到较低维度空间的方法。在本文中,我们首先解释了线性转换是什么。然后,我们通过Python示例展示了PCA的工作原理。本文最后介绍了线性判别分析(LDA)一种有监督的线性变换方法。该论文中介绍的方法的Python代码可在GitHub上找到。
线性变换
假设假设假期后,比尔欠玛丽5英镑和15美元,需要以欧元(€)支付。兑换率为:1英镑=1.15欧元,1美元=0.93欧元。因此,债务的欧元金额为:
在这里,我们将一个二维债务(£,$)转换为一个一维债务(€)。这在图1中有三个示例,原始的(£5,$15)债务和另外两个债务(£15,$20)和(£20,$35)。绿点是原始债务,红点是投影到单个维度的债务。红线是这个新的维度。
在图的左侧,我们可以看到如何表示为矩阵乘法。原始数据集是一个3×2的矩阵(3个样本,2个特征),兑换率是一个由两个组成的一维矩阵,输出是一个由3个组成的一维矩阵。兑换率矩阵就是变换矩阵;如果兑换率改变,那么变换也会改变。
我们可以使用下面的Python代码执行这个矩阵乘法。矩阵表示为numpy数组;最后一行调用dot
方法对cur
矩阵执行矩阵乘法(点积)。这…