• 大小: 0.11M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


pca降维,直接运行,你把你里面的数据换成你自己的就可以啦,注意里面的注解,欢迎下载,你指的拥有,可以的话,欢迎打分,谢谢!

资源截图

代码片段和文件信息

function [C y] = myPCA(x)
%对矩阵用主成分分析法(PCA)进行降维,得到白化矩阵和降维后的矩阵
%输入参量:
%x-----待处理的矩阵
%输出参量:
%C-----白化矩阵
%y-----降维后的矩阵
load(‘高维特征.mat‘)
x=features(:1:30)‘;
mat1=x;                                     %x的行数代表的是特征个数,列数代表的是样本数
[mn] = size(mat1);
ref_mean = mean(mat12);                    %求矩阵mat1每行的均值
X = mat1 - repmat(ref_mean1n);            %mat1的每个元素减去对应行的均值,以便求协方差
A = X‘*X;
[V D] = eig(A);                             %求特征值和特征向量
D_diag = diag(D);
[numd] = find(D_diag<0);                    %去除因扰动造成的负特征值及其对应的特征向量 
D_diag(numd) = [];
V(:numd) = [];
[D_sort D_index] = sort(-D_diag);            %特征值排序
D_sort = -D_sort;

%以总方差的70%为阈值,选取特征向量和特征值
D_pro = cumsum(D_sort)./sum(D_sort);
num = find(D_pro>0.9);                       %找到累计方差大于总方差90%的值所在的位置
T_num = num(1);                              %阈值所在的位置(以排序后的特征值为参照)
D_select = D_sort(1:T_num);                  %去除较小的特征值,得到有效特征值(已排序)
D_index = D_index(1:T_num);                  %得到有效特征值的序号
V_select = zeros(size(V1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-15 11:16  pca降维\
     文件        1503  2018-10-15 14:06  pca降维\myPCA.m
     文件      117313  2018-06-17 15:39  pca降维\高维特征.mat

评论

共有 条评论