⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_pca.m

📁 用Cross validation的方法建立人工神经网络的模型!
💻 M
字号:
function [mse_PCA, R2_PCA, accu_PCA] = main_PCA(blocksize)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% PCA -> reduced features

% load data
load initial_ALZ_drifed_masked;

num_AA_volumes = size(AA, 2);
num_BB_volumes = size(BB, 2);
num_all_volumes = num_AA_volumes + num_BB_volumes;
all_volumes = [AA BB];

[nx ny nz] = size(all_volumes{1});
n_all_images = nz * num_all_volumes;

no_features = round(nx/blocksize) * round(ny/blocksize);

% retrieve features for each image
all_image = cell(1,n_all_images); % contains the features for all images

i_image = 1;
for index = 1: num_all_volumes
    one_volume = all_volumes{index};
    for i_2D = 1: nz
        % get the 2D slices from volume
        slice = one_volume(:,:,i_2D);
        % get principle features of each
        all_image{i_image} = slice;
        i_image = i_image+1;
    end
end

PCA_data = [];
for i = 1: n_all_images
    if i <= 612
        class = 0;  % has disease
    else
        class = 1;  % no disease
    end
    data = reshape(all_image{i}, 1, []);
    data = [data class];
    PCA_data = [PCA_data; data];
end
col = size(PCA_data, 2);

fprintf('PCA begin...\n');
[PCcoeff, PCvec] = pca(PCA_data(:,1:col-1), no_features);
fprintf('PCA finished...\n');

PCA_compressed_data = [PCA_data(:, 1:col-1) * PCvec PCA_data(:,col)];

[mse_PCA, R2_PCA, accu_PCA] = classifierANN(PCA_compressed_data);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -