matlab 工具之各種降維方法工具包,下載及使用教程,有PCA, LDA, 等等。。。


最近跑深度學習,提出的feature是4096維的,放到我們的程序里,跑得很慢,很慢。。。。

於是,一怒之下,就給他降維處理了,但是matlab 自帶的什么pca( ), princomp( )函數,搞不清楚怎么用的,表示不大明白,下了一個軟件包:

名字:Matlab Toolbox for Dimensionality Reduction

鏈接:http://lvdmaaten.github.io/drtoolbox/      

Currently, the Matlab Toolbox for Dimensionality Reduction contains the following techniques:

  1. Principal Component Analysis (PCA)
  2. Probabilistic PCA
  3. Factor Analysis (FA)
  4. Classical multidimensional scaling (MDS)
  5. Sammon mapping
  6. Linear Discriminant Analysis (LDA) 等34種降維方法。。。。

 

廢話少說,上干貨。。。。

先下載該軟件包,解壓到自己的matlab文件中,然后添加該軟件包的路徑:

     addpath(genpath(‘你的路徑/drtoolbox’));

 

 

然后就是上自己的數據了,我的數據為: test_feature,想把它降維到 1000維,執行:

test_feature為要降維處理的數據, pca 為我選擇的降維方法, 1000 是我想要的最終數據維數,生成的mapped_data即為降維處理后的數據。

[mapped_data, mapping] = compute_mapping(test_feature, 'PCA', 1000 );

 1 net_feature_path = [path, 'net feature/'];  2 
 3 %%
 4 test_feature = importdata([net_feature_path, 'HAT_test_features.txt']);  5 [mapped_data, mapping] = compute_mapping(test_feature, 'PCA', 1000 );  6 
 7 for i = 1:size(mapped_data, 1)  8     line = mapped_data(i, :);  9     file = fopen([net_feature_path, 'PCA_HAT_test_features.txt'], 'a'); 10     fprintf(file, '%s ', mapped_data); 11     fprintf(file, '\n' ); 12  fclose(file); 13 end 14 
15 % [coef, score, latent, t2] = princomp(test_fea); 16 % COEFF = pca(test_fea) ;



 

 

接下來,就是漫長的等待了,數據實在太大了。。。筆記本在咆哮。。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM