数据降维工具箱drtoolbox
drttoolbox :?Matlab Toolbox for Dimensionality Reduction是Laurens van der Maaten數(shù)據(jù)降維的工具箱。
里面囊括了幾乎所有的數(shù)據(jù)降維算法:
?- 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')
?- Simple 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')
這里附上下載地址:http://download.csdn.net/detail/xiaowei_cqu/4258778
在此寫(xiě)下我在使用中遇到的一點(diǎn)點(diǎn)小問(wèn)題。
首先安裝工具箱,一般都把工具箱發(fā)到Matlab默認(rèn)放置工具箱的目錄?matlabroot\toolbox\下面,拷貝過(guò)去之后,記得修改matlabroot\toolbox\local 下的pathdef.m文件,要在里面添加上新的工具箱的路徑:
[plain]?view plaincopy
之后在Matlab工作環(huán)境中,只需要運(yùn)行compute_mapping命令即可使用工具箱中的函數(shù),如:
[plain]?view plaincopy
具體參加說(shuō)明文檔。
在使用‘Isomap’算法時(shí),會(huì)遇到錯(cuò)誤如下: ?
Invalid MEX-file C:\Program Files\MATLAB\R2010b\toolbox\drtoolbox\techniques\dijkstra.dll 找不到指定模塊
發(fā)現(xiàn)相應(yīng)路徑中,dijkstra.dll的文件是在的,于是以為是環(huán)境變量或者Progam Files空格的問(wèn)題,嘗試修改均無(wú)效。
后來(lái)仔細(xì)閱讀了源文件的注釋才發(fā)現(xiàn)是編譯版本問(wèn)題。dijkstra函數(shù)是用C++實(shí)現(xiàn)的,需要用matlab的mex編譯器編譯成dll調(diào)用。雖然工具箱中已經(jīng)有相應(yīng)編譯的dijkstra.dll,但不同版本的Matlab調(diào)用會(huì)遇到問(wèn)題,需要重新編譯。
在windows命令行cmd中,用cd命令更改路徑到工具箱路徑下,運(yùn)行命令:
[plain]?view plaincopy
1) ? Cannot open include file 'iostream.h' : No such file or directory
? ? ? 修改dijkstra.cpp中 include<iosteam.h>為<iosteam>
2) ‘cout’ : undeclared identifier ? ? ? ‘cin’ : undeclared identifier?
? ? ? 在dijsktra.cpp中加入一行 using namespace std;
編譯成功之后,在techniques文件夾下出現(xiàn)dijkstra.mexw32?的文件,即為新編譯的dll。我們可以修改之前的為dijkstra.dll.old,重命名dijkstra.mexw32為dijkstra.dll。
在matlab環(huán)境中運(yùn)行isomap的程序:
成功!
(轉(zhuǎn)載請(qǐng)注明作者和出處:http://blog.csdn.net/xiaowei_cqu?未經(jīng)允許請(qǐng)勿用于商業(yè)用途)
總結(jié)
以上是生活随笔為你收集整理的数据降维工具箱drtoolbox的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 有关内存释放的一些问题
- 下一篇: 数据降维方法分类