MATLAB怎么做主成分分析
1、在对数据进行主成分分析时,需要对数据标准化处理,以消除量纲的影响,如图所示,使用代码x=zscore(A);对数据进行标准化。原则是原数据减去均值后,除以标准差。
2、标准化后,使用matlab自带主成分分析函数,[coeff,score,latent,tsquare]=princomp(x);如图所示
3、其中,coeff是各个主成分的系数也就是转换矩阵,score是各个主成分的得分,latent是X的特征值,tsquare是每个数据的统计值。这里主要看的coeff、latent。如图所示
4、接下来计算每个特征的贡献率,输入代码latent’;、y=(100*latent/sum(latent))'; 如图所示
5、提取主成分的方法是依据前N个特征值的累计贡献率为准则,若累计贡献率为85%以上,则说明这前N个特征可以代表说湫鲆胪去不数据的绝大部分信息。如图所示(将每个特征的贡献率复制到Excel相加,累计达到85%)前99个特征。
6、由于溱碳叛鹤前99个特征的累计贡献率达到85%。故可以使用此前99个特征的信息表示大部分的原始信息。取前99个特征的特征向量作为转换矩阵,即coeff(:,1:99);降维后的数据B=x*coef熠硒勘唏f(:,1:99);如图所示,新数据只能99个特征(原数据有841个特征)达到降维的结果。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:79
阅读量:80
阅读量:47
阅读量:22
阅读量:53