PCA主成分分析算法理解+公式推导+matlab程序

博客内容介绍了PCA主成分分析的原理,详细推导了算法公式,并提供了MATLAB程序实现。通过参考多个资源,读者可以深入理解PCA并掌握其实现方法。
摘要由CSDN通过智能技术生成

对PCA算法的理解和公式推导:
在这里插入图片描述
在这里插入图片描述
MATLAB程序:

%%%%%特征降维,主成分分析PCA
%X是需要降维的特征
%CRate是贡献率,计算前n个大特征值的占所有特征值的比列
%meanValue均值矩阵
%T前n大特征值对应的特征向量组成的矩阵
%newX变换后的新的特征
function [newX,T,meanValue] = PCA_pro(X,CRate)
    meanValue=ones(size(X,1),1)*mean(X);
    a_X=X-meanValue;
    %%协方差矩阵
    cor_matrix=a_X'*a_X/(size(a_X,1)-1);
    %%特征值及特征向量
    [V,D]=eig(cor_matrix);
    %diag是将对角矩阵的对角元素转换成向量
    [newd,order]=sort(diag(D),'descend');
    V=V(:,order);

    sumd=sum(newd);%特征值之和
    for j=1:length(newd)
        i=sum(newd(1:j,1))/sumd;%计算贡献率,贡献率=前n个特征值之和/总特征值之和
        if i>CRate%当贡献率大于95%时循环结束,并记下取多少个特征值
             cols=j;
             break;
        end
    end
    T&#
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值