Matlab 資料降維工具箱drtoolbox

2021-06-06 02:32:44 字數 2582 閱讀 5811

drttoolbox : matlab toolbox for dimensionality reduction是laurens van der maaten資料降維的工具箱。

裡面囊括了幾乎所有的資料降維演算法:

- principal component analysis ('pca')

- linear discriminant analysis ('lda')

- independent component analysis ('ica')

- multidimensional scaling ('mds')

- isomap ('isomap')

- landmark isomap ('landmarkisomap')

- locally linear embedding ('lle')

- locally linear coordination ('llc')

- laplacian eigenmaps ('laplacian')

- hessian lle ('hessianlle')

- local tangent space alignment ('ltsa')

- diffusion maps ('diffusionmaps')

- kernel pca ('kernelpca')

- generalized discriminant analysis ('kernellda')

- stochastic neighbor embedding ('sne')

- neighborhood preserving embedding ('npe')

- linearity preserving projection ('lpp')

- stochastic proximity embedding ('spe')

- linear local tangent space alignment ('lltsa')

- ****** pca ('spca')

- conformal eigenmaps ('cca', implemented as an extension of lle)

- maximum variance unfolding ('mvu', implemented as an extension of lle)

- fast maximum variance unfolding ('fastmvu')

- autoencoders using rbm pretraining ('autoencoder')

- autoencoders using evolutionary optimization ('autoencoderea')

在此寫下我在使用中遇到的一點點小問題。

首先安裝工具箱,一般都把工具箱發到matlab預設放置工具箱的目錄 matlabroot\toolbox\下面,拷貝過去之後,記得修改matlabroot\toolbox\local 下的pathdef.m檔案,要在裡面新增上新的工具箱的路徑:

matlabroot,'\toolbox\drtoolbox;', ...

matlabroot,'\toolbox\drtoolbox\techniques;', ...

注意要把子資料夾techniques也新增進入。

具體參加說明文件。

在使用『isomap』演算法時,會遇到錯誤如下:  

invalid mex-file c:\program files\matlab\r2010b\toolbox\drtoolbox\techniques\dijkstra.dll 找不到指定模組

發現相應路徑中,dijkstra.dll的檔案是在的,於是以為是環境變數或者progam files空格的問題,嘗試修改均無效。

後來仔細閱讀了原始檔的注釋才發現是編譯版本問題。dijkstra函式是用c++實現的,需要用matlab的mex編譯器編譯成dll呼叫。雖然工具箱中已經有相應編譯的dijkstra.dll,但不同版本的matlab呼叫會遇到問題,需要重新編譯。

在windows命令列cmd中,用cd命令更改路徑到工具箱路徑下,執行命令:

mex -o dijkstra.cpp
編譯出現錯誤:

1)   cannot open include file 'iostream.h' : no such file or directory

修改dijkstra.cpp中 include為

2) 『cout』 : undeclared identifier       『cin』 : undeclared identifier 

在dijsktra.cpp中加入一行 using namespace std;

編譯成功之後,在techniques資料夾下出現dijkstra.mexw32 的檔案,即為新編譯的dll。我們可以修改之前的為dijkstra.dll.old,重新命名dijkstra.mexw32為dijkstra.dll。

在matlab環境中執行isomap的程式:

成功!

Matlab 資料降維工具箱drtoolbox

drttoolbox matlab toolbox for dimensionality reduction是laurens van der maaten資料降維的工具箱。裡面囊括了幾乎所有的資料降維演算法 principal component analysis pca linear discri...

matlab優化工具箱

詳細的請看 http blog.csdn.net aris zzy archive 2007 11 03 1865309.aspx 在生活和工作中,人們對於同乙個問題往往會提出多個解決方案,並通過各方面的論證從中提取最佳方案。最優化方法就是專門研究如何從多個方案中科學合理地提取出最佳方案的科學。由於...

Matlab統計工具箱

近期數學建模比賽臨近,開始了瘋狂的數學補血的生活,略感生疏的概率統計學知識雖一直沒有放下,但沒有認真深入的思考過。越發學習,越發覺得概率統計在平常生活中巨大作用。日常情況存在太多的不確定因素,不能完全的使用確切的物理等專業抽象的數學模型進行描述。在此情況下,概率統計規律的規範使用提供了有力支援。ma...