1

我正在尝试在 WEKA(分类问题)中进行 PCA 降维。

我的数据中有 200 个属性,接近 2100 行。

这是我遵循的步骤

  • 在 WEKA 资源管理器中导入 csv 文件

  • 在预处理选项卡中,应用,规范化数据(将整个数据置于 [0,1] 范围内

  • 然后实施 PCA。

    • 在 PCA 的选项中,centerData 有一个选项,如果设置为 False,将在标准化数据后使用相关矩阵进行计算(如果我错了,请纠正我),如果设置为 true,将使用协方差矩阵。

我的疑问是

  1. 我是否应该在实施 PCA 之前对数据进行规范化?我尝试在规范化之前和之后这样做,我得到了不同的结果。所以我很困惑。
  2. 我应该标准化数据(将均值设为 0)然后应用 PCA。

在这两种情况下,我应该在 PCA WEKA 中为 centerData 选项选择什么选项?

4

1 回答 1

7

这个问题已经部分回答在这里:PCA first or normalization first?

直接回答您的问题:

规范化将是个人选择。如果设置 centerData=TRUE,并且不对数据进行规范化或标准化,则某些值较大的属性在 PCA 中的影响会更大。如果您设置 centerData=FALSE,Weka 会为您标准化数据。

为了证实您的怀疑,在 Weka 中,centerData 执行以下操作:

中心数据=真

  • 使您的数据居中(不规范化或标准化,因此如果您决定这样做,则需要先这样做)
  • 使用协方差矩阵执行 PCA

中心数据=假

  • 使用相关矩阵执行 PCA (数据通过方法标准化)
于 2013-10-16T16:12:10.497 回答