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')
 - 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

在此写下我在使用中遇到的一点点小问题。

首先安装工具箱,一般都把工具箱发到Matlab默认放置工具箱的目录 matlabroot\toolbox\下面,拷贝过去之后,记得修改matlabroot\toolbox\local 下的pathdef.m文件,要在里面添加上新的工具箱的路径:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

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

注意要把子文件夹techniques也添加进入。

之后在Matlab工作环境中,只需要运行compute_mapping命令即可使用工具箱中的函数,如:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

  1. mappedX = compute_mapping(X, 'PCA', 1);



具体参加说明文档。

在使用‘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命令更改路径到工具箱路径下,运行命令:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

  1. mex -O dijkstra.cpp

编译出现错误:

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文件夹下出现dijkstra.mexw32 的文件,即为新编译的dll。我们可以修改之前的为dijkstra.dll.old,重命名dijkstra.mexw32为dijkstra.dll。

在matlab环境中运行isomap的程序:

成功!

(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu 未经允许请勿用于商业用途)

数据降维工具箱drtoolbox相关推荐

  1. MATLAB数据降维工具箱drtoolbox

    The Matlab Toolbox for Dimensionality Reduction contains Matlab implementations of 38 techniques for ...

  2. matlab corrsep,MATLAB数据降维工具箱drtoolbox介绍

    1.MATLAB drtoolbox介绍 The Matlab Toolbox for Dimensionality Reduction contains Matlab implementations ...

  3. matlab 降维工具箱mle,Matlab数据降维工具箱

    [实例简介] Matlab Toolbox for Dimensionality Reduction Matlab数据降维工具箱,包括几乎所有的数据降维方法:PCA.LDA.ICA.MDS.Isoma ...

  4. 【数据降维】数据降维方法分类

    数据降维基本原理是将样本点从输入空间通过线性或非线性变换映射到一个低维空间,从而获得一个关于原数据集紧致的低维表示. 数据降维工具箱drtoolbox中众多算法,这里简单做个分类. 因为很多并没有仔细 ...

  5. MATLAB降维工具箱

    降维工具箱drtool 工具箱下载:http://leelab.googlecode.com/svn/trunk/apps/drtoolbox/ --------------------------- ...

  6. python降维之时间类型数据的处理_使用Python进行数据降维|线性降维

    前言 为什么要进行数据降维?直观地好处是维度降低了,便于计算和可视化,其深层次的意义在于有效信息的提取综合及无用信息的摈弃,并且数据降维保留了原始数据的信息,我们就可以用降维的数据进行机器学习模型的训 ...

  7. python降维方法_使用Python进行数据降维|线性降维

    ========== 欢迎关注文章首发公众号:早起python 本文为早起的统计工具箱第二期 ========== 前言 为什么要进行数据降维?直观地好处是维度降低了,便于计算和可视化,其深层次的意义 ...

  8. 【机器学习入门】(12) 特征工程:特征选择、数据降维、PCA

    各位同学好,今天我和大家分享一下python机器学习中的特征选择和数据降维.内容有: (1)过滤选择:(2)数据降维PCA:(3)sklearn实现 那我们开始吧. 一个数据集中可能会有以下问题: ( ...

  9. 利用PCA进行数据降维

    一.进行数据降维的原因 1.使得数据更加容易使用 2.降低很多算法的计算开销 3.去除数据中的噪声(例如使用自编码器AE可以给图片进行降噪处理) 4.便于可视化 二.常见的降维技术 在已标注和未标注的 ...

最新文章

  1. 计算机视野仪检测青光眼的操作,计算机视野仪检测青光眼的操作及体会
  2. bzoj1038 [ZJOI2008]瞭望塔
  3. Hql 中 dao 层 以及daoimpl 层的代码,让mvc 模式更直观简洁
  4. Linux基础命令---fold
  5. 【codevs2304】【BZOJ1875】HH去散步,第一次的矩阵加速DP
  6. python输入二维数组_python 二维数组键盘输入
  7. linux 文件隐藏权限,linux文件基本权限、默认权限、隐藏权限和ACL权限
  8. Java项目开发实战入门 PDF 扫描完整版
  9. 远程计算机ip记录怎么删除吗,远程桌面连接清除登陆过的IP地址
  10. android 毫秒 计时器,Android 计时器: CountDownTimer和JobService
  11. python eof是什么_EOF是什么?
  12. 世界杯爆冷的球队的最新相关信息
  13. Python语言:散修笔记
  14. Google Earth Engine(GEE)——R 语言图像概览
  15. Android ijkplayer播放rtsp直播流
  16. python+ opencv实现摄像头实时人脸识别并实现汉字标框
  17. 如何找出zeppelin的登入帳號密碼?
  18. 安卓获取不到imsi_Android10.0 SDK29版本拿不到手机的IMSI解决办法
  19. 大公司病,太TM形象了!
  20. 2022全网最全Java面试题-小米社招面试经验java,面试题整理(一面二面)

热门文章

  1. (课程)基于Spark的机器学习经验
  2. Linux makefile中的= := ?=操作符
  3. 二、【绪论】算法和算法评价
  4. jvm性能调优实战 -56没有WHERE条件的SQL语句引发的OOM MAT 排查步骤
  5. 小工匠聊架构-超高并发秒杀系统设计 07_Plan B 的设计
  6. android tools ignore,android 中tools:ignore=UselessParent这个属性的含义是什么?
  7. java版本的getorcreate_Java ContainerUtil.getOrCreate方法代碼示例
  8. Java中的ThreadLocal详解
  9. mysql三范式_MySQL设计之三范式的理解
  10. 基于matlab水轮机期刊,基于MATLAB/SIMULINK的水轮机调节系统寻优