数据降维 | MATLAB实现T-SNE降维特征可视化

数据降维 | MATLAB实现T-SNE降维特征可视化

降维效果

在这里插入图片描述

基本描述

T-SNE降维特征可视化,MATLAB程序。
T-分布随机邻域嵌入,主要用途是对高维数据进行降维并进行可视化,以便更好地理解和发现数据之间的结构、模式和聚类关系。它被广泛应用于数据可视化、数据挖掘和机器学习等领域。
包含二维图像和三维图像生成两部分;
EXCEL表格直接导入,更换Excel表格的数据即可。

程序设计

  • 完整程序和数据获取方式:私信博主回复MATLAB实现T-SNE降维特征可视化
%---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
X1 = sum(p_train, 2);
tSb = tSb - X1 * X1' / num_s - tSw;

tSb = (tSb + tSb') / 2;
tSw = (tSw + tSw') / 2;

if r == num_d
  [eigvec, eigval_matrix] = eig(tSb, tSw);
else
  opts.disp = 0; 
  [eigvec, eigval_matrix] = eigs(tSb, tSw, r, 'la', opts);
end

eigval = diag(eigval_matrix);
[sort_eigval, sort_eigval_index] = sort(eigval);
T0 = eigvec(:, sort_eigval_index(end: -1: 1));
%---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
% 确定嵌入空间中的度量
switch metric
  % 加权特征向量
  case 'weighted'
   T = T0 .* repmat(sqrt(sort_eigval(end: -1: 1))', [num_d, 1]);
  % 正交归一化
  case 'orthonormalized'
   [T, ~] = qr(T0, 0);
  % 原始特征向量
  case 'plain'
   T = T0;
end
————————————————
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/130454138

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229

猜你喜欢

转载自blog.csdn.net/kjm13182345320/article/details/132484338