首页 > 解决方案 > PCA 与平均列

问题描述

我有一个包含 300 个浮点类型列和 1 个整数列的数据框,这是因变量。300 列有 3 种: 1.Kind A:第 1 到 100 列 2.Kind B:第 101 到 200 列 3.Kind C:第 201 到 300 列 我想减少维数。我应该平均每种类型的值并聚合成 3 列(每种类型一个),还是应该执行一些降维技术,如 PCA?相同的理由是什么?

标签: machine-learningpcadimensionality-reduction

解决方案


选项1:

如果您有大量的训练数据(比如超过 5*300 的训练样本),请不要进行降维

选项 2:

既然您知道有 3 种数据,请分别运行这三种数据的 PCA,并为每种数据获取 2 个特征。IE

f1, f2 = PCA(kind A columns)
f3, f4 = PCA(kind B columns)
f5, f6 = PCA(kind C columns)
train(f1, f2, f3, f4, f5, f6)

选项 3

在所有列上运行 PCA,只取保留 90+ 方差的列数

不要平均,平均是不好的。但是,如果您真的想进行平均,并且如果您确实知道某些特征很重要,那么请进行加权平均。一般来说,为降维而对特征进行平均是一个非常糟糕的主意。


推荐阅读