如何使用主成分分析进行逻辑回归

时间:2018-10-04 19:50:11

标签: logistic-regression pca principal

我对使用逻辑回归将歌剧演唱(n = 100音频文件)与非歌剧演唱(n = 300音频文件)进行分类感兴趣(仅作为示例)。我有多个可以使用的功能(即MFCC,音调,信号能量)。我想使用PCA来减少尺寸,这将删除“最小的重要变量”。我的问题是,我应该对整个数据集(但歌剧和非歌剧)进行PCA吗?因为如果这样做,是不是会删除歌剧和非歌剧的“最不重要的变量”,而不是删除对识别歌剧最不重要的变量?

1 个答案:

答案 0 :(得分:1)

简短答案:

您必须对整个数据进行PCA。

答案不是那么简短

  1. 首先合并两个类的样本。
  2. 然后在训练和测试中拆分您的数据。 (训练集和测试集必须包含两个类的数据)
  3. 使用火车数据来适合您的PCA模型
  4. 将您在(3)中训练的PCA转换应用于训练和测试集
  5. 在投影数据集上训练并测试您的逻辑回归模型

长答案:

PCA不会删除“最重要的变量”。 PCA是一种降维算法,它将寻找输入特征的线性组合,这些输入特征使用更少的坐标来编码相同量的信息(惯性)。

因此,如果数据具有N_Feats,则可以将PCA视为维度N_Feats x Projection_size的矩阵,其中Projection_size < N_Feats与数据相乘以获得较低维度的投影

这意味着您需要所有功能(变量)来计算投影。

如果您以预测的方式进行思考,则每个班级有两个不同的预测是没有意义的。为什么?有两个原因:

  1. 如果每个类别有两个PCA,则当您要测试模型时,除非您查看测试标签,否则您将不知道必须为每个数据样本申请哪个PCA。这是一种不现实的情况,因为如果您已经知道标签,则根本不需要分类器。因此,如果执行此操作,则将获得高性能,因为在分类器的输入处不直接引入标签。
  2. 如果有两个PCA,则根据类的不同,投影样本的坐标将具有不同的含义。这就像在具有完全相同维度的两个完全不同的数据源上训练分类器一样。就像训练逻辑回归以将小鼠与大象区分开,然后给小鼠赋予1个特征(即体重),给其赋予1个特征(即大小)。逻辑回归模型将为您提供输出,因为可以通过数值计算解决方案。但这在方法论上没有意义。