使用Matlab数据降维工具箱进行PCA降维

为了将高维度的能谱数据进行降维,在学习PCA降维时,了解到Matlab中的drtoolbox工具箱,这个Matlab数据降维工具箱,包括了包含PCA在内的几乎所有的数据降维方法,使用起来非常方便。下面是这个工具箱的安装方式(我使用的是Matlab R2016a)

下载地址:

https://lvdmaaten.github.io/drtoolbox/code/drtoolbox.tar.gz

下载后,将其解压到Matlab目录下的的toolbox文件夹中,并将其全部添加到路径。

 

完成后,在命令行输入rehash toolboxcache 命令,完成工具箱加载。

>>rehash toolboxcache

可以在命令行输入what drtoolbox和what drtoolbox\techniques测试安装是否成功。

>>what drtoolbox

>>what drtoolbox\techniques

 起初我意向将4096*1的能谱数据降低维度,后来了解到drtoolbox 的 compute_mapping 函数接受一个数据矩阵作为输入,其中每一行代表一个样本,每一列代表一个特征。于是我将数据转置为1*4096的形式,进行PCA降维。

data = importdata('1.txt');
data = data.data;
X = data(9:end, 1);
Y = X';
[mappedX, mapping] = compute_mapping(Z, 'PCA', 32);

遇到如下报错

警告: Target dimensionality reduced to 1. 
> In pca (line 53)
  In compute_mapping (line 378) 

 提示我PCA (主成分分析) 算法在降维过程中自动将目标维度调整为 1。

参考了相关博客 https://blog.csdn.net/mingtian715/article/details/54172281

了解到了PCA降维后的维数一定要小于数据样本数!!!(详情请见上博客)

为了验证该结论,我使用reshape函数将该1*4096的矩阵转换为16*256的,并试图将其降维为16*32。

 

提示我维度自动调整到了16,刚好为数据样本数,降维后的矩阵也为16*16,验证了以上说法。于是我将1*4096的矩阵reshape为32*128,设置PCA降维后的矩阵维度为2,并以散点图形式显示。

data = importdata('1.txt');
X = data(9:end, 1);
Y = X';
Z=reshape(Y,32,128)  
[mappedX, mapping] = compute_mapping(Z, 'PCA', 2);
scatter(mappedX(:, 1), mappedX(:, 2));
title('Result of Dimensionality Reduction');

 成功将其降维为32*2,实现了使用Matlab数据降维工具箱进行PCA降维。

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
matlab数据降维工具箱Matlab Dimensionality Reduction Toolbox)是一个功能强大的工具箱,包含了几乎所有的常见数据降维方法。 数据降维是通过减少数据集的特征数量,而保留最重要的信息。在大数据分析和机器学习中,数据降维是一个重要的预处理步骤,可以提高计算效率,减少存储空间,并且可以帮助我们更好地理解和可视化数据。 在matlab数据降维工具箱中,包含了许多主流和经典的数据降维方法。其中包括主成分分析(Principal Component Analysis, PCA)、因子分析(Factor Analysis)、独立成分分析(Independent Component Analysis, ICA)、局部线性嵌入(Locally Linear Embedding, LLE)、等距映射(Isomap)、t分布随机邻近嵌入(t-distributed Stochastic Neighbor Embedding, t-SNE)等方法。 这些方法在数据降维过程中,根据不同的原理和算法,提供了不同的降维效果和特点。比如,PCA是一种线性降维方法,通过线性变换将高维数据映射到低维空间;而t-SNE则是一种非线性降维方法,可以保留高维数据中的局部结构。 通过matlab数据降维工具箱,我们可以灵活选择适合自己数据集和需求的降维方法,对数据进行降维处理。此外,工具箱还提供了丰富的功能和工具,如可视化和结果评估,帮助用户更好地理解和分析降维后的数据。 综上所述,matlab数据降维工具箱是一个功能丰富的工具箱,包含了几乎所有的数据降维方法。通过这个工具箱,我们可以方便地对数据进行降维处理,并获得更高效、更简洁的数据表示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值