【问题标题】:MATLAB: Principal Component Analysis (PCA) and Classification LearnerMATLAB:主成分分析 (PCA) 和分类学习器
【发布时间】:2015-12-09 17:56:45
【问题描述】:

我正在使用分类学习工具箱在 Matlab 中构建逻辑回归模型。

我在 Matlab 中运行 PCA:

[系数,分数,潜在,tsquared,解释] = pca(CreditNumeric);

这是系数、分数、潜在和解释输出:

我想使用 PCA 的结果来减少我在分类学习器中用作输入的输入特征(基于我的 PCA 结果)。如何使用 PCA 结果来选择(比如 5-7 个)最能描述 95% 数据方差的特征?

【问题讨论】:

  • "1. 模型应包含最多 7 个变量,包括任何给定属性或其派生变量。说明您是如何得出选定变量的。"
  • btw - 在 R 的插入符号包中,居中、标准化和 PCA 都处于管道的预处理阶段。那很好。但我仍然需要知道选择了哪些原始属性作为因子。

标签: matlab classification pca


【解决方案1】:

实际上非常简单,因为在Classification learner 中,当您上传所有变量时,您可以选择要用于训练模型的特征(请参阅最后的屏幕截图,其中“特征选择”按钮出现在导入数据旁边)

在那里,您可以选择任意数量的变量,还可以训练几种组合并在最后比较结果之间的差异。

这里的问题是,我认为您的 5-7 个特征(在本例中为主成分)是否描述了 95% 的数据方差,对吗?

为了解决这个问题,您可以采用两种方法:

  1. 最简单但不是最好的一种:

-在Classification learner 中上传所有变量而不是主成分,然后使用新版本 MatLab 中出现在特征选择旁边的 PCA 按钮。

-然后您可以确定解释方差的百分比 (95) 和分量数 (7)

  1. 我建议虽然之前在MatLab 中开发pca,这样您就可以查看、控制和分析所有结果,然后与学习器一起训练主成分。

通过这种方式,您实际上可以知道需要在模型中使用多少组件来解释 95% 的方差。并且可能不是 5-7,或者可能小于那个……先探索。

这是我的建议。祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 2015-07-29
    • 1970-01-01
    • 2013-03-31
    • 2012-10-24
    • 2013-12-13
    相关资源
    最近更新 更多