MATLAB用PCA实现MNIST数据集中“0”,“1”,“6”的可视化,每个类别共10个样本(已打包)。将2828的图像矩阵先变成1784,然后用用svd函数将维数降到2维,即784→2。
时间: 2024-06-06 21:06:57 浏览: 20
首先,需要将MNIST数据集中的“0”,“1”,“6”提取出来,并随机选择10个样本。可以使用以下代码实现:
load('mnist_all.mat') % 加载MNIST数据集
% 提取“0”类别的样本
num_0 = size(train0, 1); % “0”类别样本数
idx_0 = randperm(num_0, 10); % 随机选择10个样本
X_0 = double(train0(idx_0, :)); % 取出10个样本并转为double类型
% 提取“1”类别的样本
num_1 = size(train1, 1); % “1”类别样本数
idx_1 = randperm(num_1, 10); % 随机选择10个样本
X_1 = double(train1(idx_1, :)); % 取出10个样本并转为double类型
% 提取“6”类别的样本
num_6 = size(train6, 1); % “6”类别样本数
idx_6 = randperm(num_6, 10); % 随机选择10个样本
X_6 = double(train6(idx_6, :)); % 取出10个样本并转为double类型
接下来,需要将每个样本的图像矩阵从2828变成1784,可以使用以下代码实现:
X_0 = X_0(:, 2:end); % 去掉第一列,变成28*27=756维
X_0 = reshape(X_0, [10, 756]); % reshape成10*756的矩阵
X_1 = X_1(:, 2:end); % 去掉第一列,变成28*27=756维
X_1 = reshape(X_1, [10, 756]); % reshape成10*756的矩阵
X_6 = X_6(:, 2:end); % 去掉第一列,变成28*27=756维
X_6 = reshape(X_6, [10, 756]); % reshape成10*756的矩阵
最后,使用svd函数将每个样本降维到2维,并将结果可视化。可以使用以下代码实现:
% 将“0”类别的样本降维到2维
[U_0, S_0, V_0] = svd(X_0);
X_0_2d = U_0(:, 1:2) * S_0(1:2, 1:2);
scatter(X_0_2d(:, 1), X_0_2d(:, 2), 'filled')
title('“0”类别的可视化')
% 将“1”类别的样本降维到2维
[U_1, S_1, V_1] = svd(X_1);
X_1_2d = U_1(:, 1:2) * S_1(1:2, 1:2);
scatter(X_1_2d(:, 1), X_1_2d(:, 2), 'filled')
title('“1”类别的可视化')
% 将“6”类别的样本降维到2维
[U_6, S_6, V_6] = svd(X_6);
X_6_2d = U_6(:, 1:2) * S_6(1:2, 1:2);
scatter(X_6_2d(:, 1), X_6_2d(:, 2), 'filled')
title('“6”类别的可视化')
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)