mds降维 matlab,compute_mapping.m 源代码在线查看 - 一个基于matlab的数据降维工具箱,包括MDS,LEE等方法 资源下载 虫虫电子下载站...

mapping.name = 'Laplacian'; case {'HLLE', 'HessianLLE'} % Compute Hessian LLE mappingif 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 mappingif 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 mappingif 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 mappingif 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 mappingif 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 kernelif 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 algorithmif 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值