gpt4 book ai didi

matlab - 如何选择 PCA 之后最相关的前 100 个特征(子集)?

转载 作者:行者123 更新时间:2023-12-03 01:57:08 25 4
gpt4 key购买 nike

我对一个63*2308的矩阵进行了PCA,得到了一个分数和一个系数矩阵。得分矩阵的维度为63*2308,系数矩阵的维度为2308*2308。

如何提取最重要的前 100 个特征的列名称,以便我可以对它们执行回归?

最佳答案

PCA 应该为您提供一组特征向量(系数矩阵)和特征值向量 (1*2308),通常称为 lambda)。您可能会在 matlab 中使用不同的 PCA 函数来获取它们。

特征值表示每个特征向量解释了多少数据。选择特征的一个简单方法是选择具有最高特征值的 100 个特征。这为您提供了一组可以解释数据中大部分差异的特征。

如果您需要证明您的方法的合理性,您实际上可以计算每个特征向量解释的方差量和截断,例如解释的 95% 方差。

请记住,仅基于特征值进行选择可能并不对应于对回归最重要的一组特征,因此,如果您没有获得预期的性能,您可能需要尝试不同的特征选择方法,例如递归特征选择。我建议使用谷歌学术来找到几篇做类似事情的论文,看看他们使用了什么方法。

<小时/>

使用 PCA 获取前 100 个主要成分的快速 matlab 示例。

[eigenvectors, projected_data, eigenvalues] = princomp(X);
[foo, feature_idx] = sort(eigenvalues, 'descend');
selected_projected_data = projected(:, feature_idx(1:100));

关于matlab - 如何选择 PCA 之后最相关的前 100 个特征(子集)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15865340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com