基于MATLAB的t-SNE算法多合成数据集降维可视化实现

1. 合成数据集生成与预处理
% 生成5类合成数据集
n_samples = 1000;
rng(42); % 固定随机种子

% 创建数据集
datasets = struct();
datasets.blobs = [make_blobs(n_samples,5,1.0,1,0)];
datasets.moons = [make_moons(n_samples,0.1,1)];
datasets.circles = [make_circles(n_samples,0.05,0.5,1)];
datasets.spiral = spiral_data(n_samples); % 自定义螺旋生成函数
datasets.random = rand(n_samples,2);

% 合并数据与标签
X_list = cell(1,5);
y_list = cell(1,5);
for i = 1:5
    X_list{
   
   i} = datasets.(['blobs','moons','circles','spiral','random]){
   
   i};
    y_list{
   
   i} = datasets.(['blobs','moons','circles','spiral','random]){
   
   i}.Y;
end

2. t-SNE降维核心实现
% 统一参数设置
tsne_opts = struct(...
    'NumDimensions',2,...
    'Perplexity',30,...
    'LearnRate',200,...
    'NumIterations',1000,...
    'Algorithm','barnes-hut'); % 更高效近似算法

% 执行降维
results = cell
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值