刺眼的痛 1星
共回答了158个问题采纳率:94.3% 评论
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*coeff(:,1:99);如图所示,新数据只能99个特征(原数据有841个特征)达到降维的结果。
22小时前
姐有受虐症 2星
共回答了65个问题 评论
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*coeff(:,1:99);如图所示,新数据只能99个特征(原数据有841个特征)达到降维的结果。
21小时前
猜你喜欢的问题
5个月前1个回答
5个月前1个回答
5个月前1个回答
5个月前2个回答
5个月前1个回答
5个月前2个回答
热门问题推荐
4个月前1个回答
3个月前1个回答
3个月前1个回答
2个月前2个回答
2个月前1个回答
3个月前1个回答
1个月前2个回答
4个月前1个回答
3个月前1个回答