matlab主成分分析(pca)代码
时间: 2023-11-03 13:03:22 浏览: 241
主成分分析(PCA)是一种常用的降维技术,可用于数据压缩、特征提取和可视化等任务。以下是一个在MATLAB中实现PCA的简单代码示例:
```matlab
% 假设数据集矩阵为X,每行代表一个样本
% 请确保X已经被标准化(均值为0,方差为1)
% 计算协方差矩阵
covarianceMatrix = cov(X);
% 计算协方差矩阵的特征向量和特征值
[eigenvectors, eigenvalues] = eig(covarianceMatrix);
% 将特征值按降序排列
[~, indices] = sort(diag(eigenvalues), 'descend');
eigenvectors = eigenvectors(:, indices);
% 选择前k个特征向量作为主成分
k = 2; % 假设选择前2个主成分
principalComponents = X * eigenvectors(:, 1:k);
% 可选:计算解释方差比例
explainedVariance = diag(eigenvalues) / sum(diag(eigenvalues));
% 输出主成分
principalComponents
```
阅读全文