【问题标题】:How to see which Atribute (Feature) contribute most to the performance of the classification with PCA in Matlab?如何在 Matlab 中查看哪个属性(特征)对 PCA 分类性能的贡献最大?
【发布时间】:2013-12-14 03:09:00
【问题描述】:

我想使用一些机器学习分类方法(SVM、决策树或任何其他方法)对 65x9 的小型数据集执行分类。 因此,在开始分类之前,我想在 Matlab 或 Weka(首选 MatLab)中使用 PCA 进行属性分析。我想获得哪个属性对分类器的性能贡献最大。所以我可能会减少一些属性的数量或/并在未来包括更多。任何 PCA 示例都可以在 MatLab 或 Weka 中找到?

谢谢

【问题讨论】:

    标签: matlab machine-learning weka pca


    【解决方案1】:

    PCA 是一种无监督的特征提取方法。

    如果您的问题是关于选择与 PCA 一起使用的属性,我不知道您的目的是什么,但没有必要做这样的事情来提高分类性能。只需使用整个属性。 PCA 会按每个实例的降序为您提供最佳属性。

    如果您的问题是关于在 PCA 之后选择属性,您可以选择一个阈值(例如 0.95)并计算 #attributes 足以使阈值从第一个属性开始到最后一个。您可以使用协方差矩阵的特征值来计算并获得 PCA 中的阈值。

    运行 PCA 后,我们知道第一个属性是最好的,第二个属性是在第一个之后的最好的......

    【讨论】:

    • 谢谢。当我在 Matlab 中使用 pca 函数时,我需要包含标签(类)还是只有数据文件是属性和实例(没有标签)?
    • 由于 PCA 是无监督方法,它不使用类(标签)信息。您不需要包含标签。如果您包括在内,它们将像另一个功能一样工作。如果您也有标签,我可以提供 LDA(线性判别分析)而不是 PCA。
    • 我也有标签。 LDA和PCA有什么区别?
    • LDA 使用类(标签)信息,以便它可以考虑类内和类间的相似性。您可以 google LDA 了解实施细节。如果存在标签,LDA 可以产生比 PCA 更好的性能。
    • 那么在LDA之后你可以进行分类并实现分类性能的提高吗?我是Matlab工具箱的LDA部分,所以我可以使用一些MatLab预编译功能吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 2017-05-26
    • 1970-01-01
    • 2020-05-19
    • 2011-08-15
    • 1970-01-01
    相关资源
    最近更新 更多