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的行对应于观测值,列对应于变量。每列系数包含一个主成分的系数。各列按主成分方差(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降维后特征

参考文献:

[1]matlab 自带pca函数

[2]MATLAB帮助文档

 

你可能感兴趣的:(机器学习,算法,matlab,pca降维)