今天开始存在博客上。再丢代码就不礼貌了
% 加载特征数据
load('VOCResnet50Train.mat');
[XX, Y] = creatSubTablezh(data_array, tree);
features=XX{21}(:,1:end-1);
labels = Y{21};
% 执行 t-SNE 降维
% 这里的参数可以根据你的需求进行调整
X_reduced = tsne(features, 'Algorithm', 'exact', 'NumDimensions', 2, 'Perplexity', 30);
% 获取唯一类别和对应的索引
unique_labels = unique(labels);
num_labels = length(unique_labels);
% 定义颜色映射
color_map = lines(num_labels);
% 创建图形并绘制每个类别的数据点
figure;
hold on;
for i = 1:num_labels
idx = labels == unique_labels(i);
scatter(X_reduced(idx, 1), X_reduced(idx, 2), 25, color_map(i, :), 'filled');
end
hold off;
% 添加标题和标签
title('t-SNE Visualization');
xlabel('t-SNE Dimension 1');
ylabel('t-SNE Dimension 2');
% 创建图例
legend(cellstr(num2str(unique_labels)), 'Location', 'best');
% 显示网格线
grid on;