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

📄 compute_mapping.m

📁 数据降维工具箱
💻 M
📖 第 1 页 / 共 2 页
字号:
            mapping.name = 'Laplacian';                    case {'HLLE', 'HessianLLE'}            % Compute Hessian LLE mapping			if isempty(varargin), mappedA = hlle(A, no_dims, 12, eig_impl);            else mappedA = hlle(A, no_dims, varargin{1}, eig_impl); end            mapping.name = 'HLLE';                    case 'LLE'            % Compute LLE mapping			if isempty(varargin), mappedA = lle(A, no_dims, 12, eig_impl);            else mappedA = lle(A, no_dims, varargin{1}, eig_impl); end            mapping.name = 'LLE';                    case 'LLC'            % Compute LLC mapping			if isempty(varargin), mappedA = run_llc(A', no_dims, 12, 20, 200, eig_impl);            elseif length(varargin) == 1, mappedA = run_llc(A', no_dims, varargin{1}, 20, 200, eig_impl);            elseif length(varargin) == 2, mappedA = run_llc(A', no_dims, varargin{1}, varargin{2}, 200, eig_impl);            else mappedA = run_llc(A', no_dims, varargin{1}, varargin{2}, varargin{3}, eig_impl); end            mappedA = mappedA';            mapping.name = 'LLC';                                            case {'ManifoldChart', 'ManifoldCharting', 'Charting', 'Chart'}            % Compute mapping using manifold charting            if isempty(varargin), mappedA = charting(A, no_dims, 40, 200, eig_impl);            elseif length(varargin == 1), mappedA = charting(A, no_dims, varargin{1}, 200, eig_impl);               else mappedA = charting(A, no_dims, varargin{1}, varargin{2}, eig_impl); end            mapping.name = 'ManifoldChart';                    case 'CFA'            % Compute mapping using Coordinated Factor Analysis            if isempty(varargin), mappedA = cfa(A, no_dims, 40, 200);            elseif length(varargin == 1), mappedA = cfa(A, no_dims, varargin{1}, 200);            else mappedA = cfa(A, no_dims, varargin{1}, varargin{2}); end            mapping.name = 'CFA';                   case 'LTSA'            % Compute LTSA mapping             if isempty(varargin), mappedA = ltsa(A, no_dims, 12, eig_impl);            else mappedA = ltsa(A, no_dims, varargin{1}, eig_impl); end            mapping.name = 'LTSA';                    case 'LLTSA'            % Compute LLTSA mapping             if isempty(varargin), [mappedA, mapping] = lltsa(A, no_dims, 12, eig_impl);            else [mappedA, mapping] = lltsa(A, no_dims, varargin{1}, eig_impl); end            mapping.name = 'LLTSA';                    case 'FastMVU'            % Compute MVU mapping            if isempty(varargin), mappedA = fastmvu(A, no_dims, 12, eig_impl);            else mappedA = fastmvu(A, no_dims, varargin{1}, eig_impl); end            mapping.name = 'MVU';                    case {'Conformal', 'ConformalEig', 'ConformalEigen', 'ConformalEigenmaps', 'CCA', 'MVU'}            % Perform initial LLE (to higher dimensionality)            disp('Running normal LLE...')            if isempty(varargin), [mappedA, mapping] = lle(A, 4 * no_dims + 1, 12, eig_impl);            else [mappedA, mapping] = lle(A, 4 * no_dims + 1, varargin{1}, eig_impl); end                        % Now perform the MVU / CCA optimalization                        if strcmp(type, 'MVU'),                disp('Running Maximum Variance Unfolding...');                opts.method = 'MVU';            else                disp('Running Conformal Eigenmaps...');                opts.method = 'CCA';            end            disp('CSDP OUTPUT =============================================================================');            mappedA = cca(A', mappedA', mapping.nbhd', opts);            disp('=========================================================================================');            mappedA = mappedA(1:no_dims,:)';                    case {'DM', 'DiffusionMaps'}            % Compute diffusion maps mapping			if isempty(varargin), mappedA = diffusion_maps(A, no_dims, 1);            else mappedA = diffusion_maps(A, no_dims, varargin{1}); end            mapping.name = 'DM';                    case 'SPE'            % Compute SPE mapping            if isempty(varargin), mappedA = spe(A, no_dims, 'Global');            elseif length(varargin) == 1, mappedA = spe(A, no_dims, varargin{1});             elseif length(varargin) == 2, mappedA = spe(A, no_dims, varargin{1}, varargin{2}); end            mapping.name = 'SPE';                    case 'LPP'            % Compute LPP mapping            if isempty(varargin), [mappedA, mapping] = lpp(A, no_dims, 12, eig_impl);            else [mappedA, mapping] = lpp(A, no_dims, varargin{1}, eig_impl); end            mapping.name = 'LPP';                    case 'NPE'            % Compute NPE mapping            if isempty(varargin), [mappedA, mapping] = npe(A, no_dims, 12, eig_impl);            else [mappedA, mapping] = npe(A, no_dims, varargin{1}, eig_impl); end            mapping.name = 'NPE';                    case 'SNE'            % Compute SNE mapping			if isempty(varargin), mappedA = sne(A, no_dims);            else mappedA = sne(A, no_dims, varargin{1}); end            mapping.name = 'SNE';        case {'AutoEncoder', 'Autoencoder', 'AutoencoderRBM', 'AutoEncoderRBM'}            % Train autoencoder to map data            [mappedA, mapping] = autoencoder(A, no_dims);            mapping.name = 'AutoEncoder';                    case {'AutoEncoderEA', 'AutoencoderEA'}            % Train autoencoder to map data            [mappedA, mapping] = autoencoder_ea(A, no_dims);            mapping.name = 'AutoEncoderEA';                    case {'KPCA', 'KernelPCA'}            % Apply kernel PCA with polynomial kernel			if isempty(varargin), [mappedA, mapping] = kernel_pca(A, no_dims);			else [mappedA, mapping] = kernel_pca(A, no_dims, varargin{:}); end            mapping.name = 'KernelPCA';					case {'KLDA', 'KFDA', 'KernelLDA', 'KernelFDA', 'GDA'}			% Apply GDA with Gaussian kernel            if isempty(varargin), mappedA = gda(A(:,2:end), uint8(A(:,1)), no_dims);            else mappedA = gda(A(:,2:end), uint8(A(:,1)), no_dims, varargin{:}); end            mapping.name = 'KernelLDA';                    case {'LDA', 'FDA'}            % Construct labeled dataset            [mappedA, mapping] = lda(A(:,2:end), uint16(A(:,1)), no_dims);            mapping.name = 'LDA';                    case 'MDS'            % Compute distance matrix            mappedA = mds(A, no_dims);            mapping.name = 'MDS';                    case {'PCA', 'KLM'}            % Compute PCA mapping			[mappedA, mapping] = pca(A, no_dims);            mapping.name = 'PCA';                    case {'SPCA', 'SimplePCA'}            % Compute PCA mapping using Hebbian learning approach			[mappedA, mapping] = spca(A, no_dims);            mapping.name = 'SPCA';                    case {'PPCA', 'ProbPCA', 'EMPCA'}            % Compute probabilistic PCA mapping using an EM algorithm			if isempty(varargin), [mappedA, mapping] = em_pca(A, no_dims, 200);            else [mappedA, mapping] = em_pca(A, no_dims, varargin{1}); end            mapping.name = 'PPCA';                    otherwise            error('Unknown dimensionality reduction technique.');    end        % JDQR makes empty figure; close it    if strcmp(eig_impl, 'JDQR')        close(gcf);    end        % Handle PRTools dataset    if prtools == 1        AA.data = mappedA;        mappedA = AA;    end    

⌨️ 快捷键说明

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