使用matlab进行降维
2018-01-08 10:37
501 查看
clc; for i=1:168 X(i,1:20)=totalPDSdat(i,5:24); labels(i,1)=0; end for i=169:386 X(i,1:20)=totalNPdata(i-168,5:24); labels(i,1)=1; end item=10; %迭代次数 sigma=1; %高斯函数方差 filename = ['-sigma-' num2str(sigma) '--' num2str(item) '.gif']; %必须预先建立gif文件 % 估计本质维数,即最终降到的维数 no_dims = round(intrinsic_dim(X, 'MLE')); disp(['MLE estimate of intrinsic dimensionality: ' num2str(no_dims)]); for i = 1:item [mappedX, mapping] = compute_mapping(X, 'Laplacian', no_dims,12,i); tname = ['-sigma-' num2str(sigma) 'Result of Laplacian Eigenmaps']; figure(i), scatter3(mappedX(:,1), mappedX(:,2), mappedX(:,3),5, labels(mapping.conn_comp),'filled'); if isequal(labels(mapping.conn_comp),labels) sprintf('%s','sucess') else sprintf('%s','error') end title(tname); sigma=sigma+1; % 自动保存为gif图像 frame = getframe(i); im = frame2im(frame); [I,map] = rgb2ind(im,256); if i==1 imwrite(I,map,filename,'gif','Loopcount',inf, 'DelayTime',0.8); else imwrite(I,map,filename,'gif','WriteMode','append','DelayTime',0.8); end end % Isomap降维 [mappedX, mapping] = compute_mapping(X, 'Isomap', no_dims); if isequal(labels(mapping.conn_comp),labels) sprintf('%s','sucess') else sprintf('%s','error') end figure scatter3(mappedX(:,1), mappedX(:,2), mappedX(:,3),5, labels(mapping.conn_comp),'filled') title('Result of Isomap') drawnow
相关文章推荐
- 7-使用MATLAB进行编程
- Mac 10.11.6 让Matlab2014b 使用Xcode8.1进行mex编译的方法
- 使用MATLAB进行GPU高级编程
- 使用matlab求解镜头畸变参数以及使用opencv进行畸变矫正
- 在Matlab中使用mex函数进行C/C++混合编程
- 使用MATLAB和UML进行嵌入式开发---四轴飞行器室内定位及导航系统 开篇(一)
- 使用matlab进行多项式的拟合
- Matlab------ Matlab 2012b 使用Maple 17内核进行符号计算及Mupad与maple内核的切换
- 使用MATLAB进行GPU高级编程
- 使用 Matlab Toolbox 进行摄像机标定
- Matlab使用文本文件(.txt)进行数据存取的技巧总结(相当的经典)
- 使用PCA对特征数据进行降维
- 使用 matlab 进行正太拟合
- 使用Matlab进行图像的读写、显示和缩放(最近临插值和双线性内插值法)
- 如何使用MATLAB对图像进行批量的修改名称的处理
- 使用MATLAB BNT贝叶斯工具箱,进行Gibbs Sampling之前需要做的编译工作
- 数据拟合---使用自定义函数进行非线性拟合 -在Origin。matlab拟合工具箱cftool
- MATLAB使用BP神经网络进行数据预测
- 使用Camera Calibration Toolbox for Matlab进行摄像机标定
- Matlab探寻(七):使用加密狗对exe进行加密找不到.ctf