MATLAB自带PCA函数的参数含义及使用方法
目录1.PCA函数的输入与输出参数2.PCA函数的使用方法1.PCA函数的输入与输出参数function [coeff, score, latent, tsquared, explained, mu] = pca(x,varargin)输入参数:X,数据集,假设样本的个数为N,每个样本的特征个数为P,则 X是N×P的矩阵。输出参数:COEFF,返回N×P数据矩阵X的主成分系数。X的行对应于观测值,
目录
1.PCA函数的输入与输出参数
function [coeff, score, latent, tsquared, explained, mu] = pca(x,varargin)
输入参数:
X,数据集,假设样本的个数为N,每个样本的特征个数为P,则 X是N×P的矩阵。
输出参数:
COEFF,返回N×P数据矩阵X的主成分系数。X的行对应于观测值,列对应于变量。每列系数包含一个主成分的系数。各列按主成分方差(latent)降序排列。默认情况下,PCA将数据居中并使用奇异值分解算法。对于非默认选项,请使用名称/值对参数。
SCORE,返回主成分得分,它是X在主成分空间中的表示。score的行对应观察值,列对应主成分。中心数据可以用SCORE*COEFF'重建。
LATENT,返回每个主成分方差,即X的协方差矩阵的特征值,特征值从大到小进行排序。
TSQUARED,返回X中每个观测值的Hotelling T平方统计值。PCA使用所有主分量计算TSQUARED(在整个空间中计算),即使请求的组件较少(请参见下面的“NumComponents”选项)。对于缩小空间中的TSQUARED,使用MAHAL(SCORE,SCORE)。
EXPLAINED,返回一个向量,其中包含每个主成分方差占总方差的百分比。
MU,“Centered”设置为true时返回估计的平均值MU;设置为false时返回所有零。
2.PCA函数的使用方法
clc;
clear;
load feature;
[coeff, score, latent, tsquared, explained, mu]=pca(feature);
a=cumsum(latent)./sum(latent); % 计算特征的累计贡献率
% explained和latent均可用来计算降维后取多少维度能够达到自己需要的精度,且效果等价。
% explained=100*latent./sum(latent);
idx=find(a>0.9); % 将特征的累计贡献率不小于0.9的维数作为PCA降维后特征的个数
k=idx(1);
Feature=score(:,1:k); % 取转换后的矩阵score的前k列为PCA降维后特征
参考文献:
[2]MATLAB帮助文档
更多推荐



所有评论(0)