R中多分类降维的最快方法

Fastest way to reduce dimensionality for multi-classification in R

What I currently have:

我有一个数据框,其中有一列名为 "Class" 的因子,其中包含 160 个不同的 类。我有 1200 个变量,每个变量都是整数,并且没有单个单元格的值超过 1000(如果有帮助的话)。大约 1/4 的单元格是数字零。整个数据集包含 60,000 行。我已经使用 nearZeroVar 函数和 findCorrelation 函数将其降低到这个数量的变量。在我的特定数据集中,一些单独的变量本身可能显得不重要,但与其他两个变量结合使用时可能具有预测性。

What I have tried:

首先,我尝试创建一个 运行dom 森林模型,然后计划使用 varimp 属性 来过滤掉无用的东西,让它 运行 几天后就放弃了。然后我尝试使用 fscaret,但是 运行 在具有 64GB RAM 的 8 核机器上过夜(与之前的尝试相同)并且没有完成。然后我尝试了: Feature Selection using Genetic Algorithms 那 运行 一夜之间也没有完成。我试图使主成分分析工作,但由于某种原因不能。我从来没有能够在 Caret 中成功地进行 PCA,这可能是我的问题和解决方案。我可以按照网络上的所有 "toy" 演示示例进行操作,但我仍然认为我的案例中遗漏了一些东西。

What I need:

我需要一些方法来快速降低数据集的维数,以便可以将其用于创建模型。也许一个好的起点是将 PCA 与使用 Caret 的数据集一起使用的示例。当然,我很高兴听到任何其他可能让我摆脱现在所处的流沙的想法。

我也只是做了一些玩具例子。

不过,这里有一些想法不适合发表评论。

你所有的属性似乎都是数字。也许 运行 您的数据集上的朴素贝叶斯算法会给出一些合理的分类?然后,假设所有属性都相互独立,但经验表明/many scholars say that NaiveBayes results are often still useful,尽管有很强的假设?

如果您绝对必须进行属性选择,例如作为作业的一部分:

您是否尝试过使用免费的基于 GUI 的数据挖掘工具 Weka 来处理您的数据集?有一个 "attribute selection" 选项卡,您可以在其中使用多种算法(或算法组合)来删除不相关的属性供您使用。这是一门艺术,但结果并不那么容易解释。

阅读 this pdf as an introduction and see this video 了解理论方法的演练和介绍。

这些视频假定您熟悉 Weka,但也许它仍然有帮助。 有一个 RWeka 界面,但安装起来有点费力,因此使用 Weka GUI 可能更容易。