matlab降维工具包----drtoolbox
–很好安装,也很好用
下载网址
安装
- 下载后解压在一个文件夹里。
- 打开matlab,添加文件。
- 运行“rehash toolboxcach”.显示“compilation completed”即完成加载。
测试:
X = data;%数据每个样本为一行。
labels = label;
no_dims = round(intrinsic_dim(X, 'MLE'));
disp(['MLE estimate of intrinsic dimensionality: ' num2str(no_dims)]);
% PCA降维
[mappedX, mapping] = compute_mapping(X, 'PCAA', no_dims);
figure, scatter(mappedX(:,1), mappedX(:,2), 5, labels);
title('Result of PCA');
%KPCA降维
[mappedX, mapping] = compute_mapping(X, 'KPCA', no_dims);
figure, scatter(mappedX(:,1), mappedX(:,2), 5, labels);
title('Result of KPCA');
%LDA降维
[mappedX, mapping] = compute_mapping(X, 'LDA', no_dims);
figure, scatter(mappedX(:,1), mappedX(:,2), 5, labels);
title('Result of LDA');
结果:
补充:
数据不知道怎么搞上去。就放个地址吧。链接:https://pan.baidu.com/s/11CzO2_DWHds_PSTDtR69Sw
提取码:9tfd
问题:在使用时,发现该工具箱中的pca函数与matlab自带函数冲突,便将该工具箱中的pca函数名字给改掉。如下:
这样以后用matlab本身的pca即
[coef,score,latent] =pca(data);
调用该工具包中的pca利用
[mappedX, mapping] = compute_mapping(X, 'PCAA', no_dims);
figure, scatter(mappedX(:,1), mappedX(:,2), 5, labels);
title('Result of PCA');`