t-sne可视化

发布时间 2023-11-24 16:20:56作者: 太好了还有脑子可以用

1.方法一:python+matlab

我加载了一个CIFAR-100_IR10_class4.mat的文件,我只选择了cifar-100的前四个类,每个类有100张图片是,是测试集
image
效果图:
image
暂时看不出什么效果,可能需要调整


②matlab加载mat文件代码

% 设置随机种子
rng(12);

% 加载数据1
load('CIFAR-100_IR10_class4.mat');

% 提取 features 和 labels
features = features;
labels = labels';

% 选择特定行的特征
selected_rows = [1:95, 101:195, 201:295, 301:395];
selected_features = features(selected_rows, :);
selected_features = cell2mat(selected_features);

% 更新标签
selected_labels = labels(selected_rows);

% 使用 t-SNE 进行降维
rng('default'); % 为了可复现性,设置随机数种子
perplexity = 30; % t-SNE 参数,可以根据需要调整
Y = tsne(selected_features, 'NumDimensions', 2, 'Perplexity', perplexity);

% 可视化 t-SNE 结果
gscatter(Y(:, 1), Y(:, 2), selected_labels);
title('t-SNE Visualization of Selected Features');
xlabel('t-SNE Dimension 1');
ylabel('t-SNE Dimension 2');
legend('Location', 'Best');