Inverse t-SNE

13 vues (au cours des 30 derniers jours)
Okan DÜZYEL
Okan DÜZYEL le 13 Sep 2022
Commenté : Okan DÜZYEL le 14 Sep 2022
Hi,
I have t-sne output of a dataset that involves two clusters and I want to label all data of dataset according to this t-sne output.
rng default % for reproducibility
Y = tsne(Data);
gscatter(Y(:,1),Y(:,2))
Data is a matrix which has 2779x204 dimension, Y has 2779x2 matrix and gsactter visulizes the output. When I click one point in gscatter, I can get the observation value that matches to Y but I want to get group of observation values.
Is there any way to get multiple observation values from gscatter or another way to find inverse t-sne?

Réponses (1)

Image Analyst
Image Analyst le 13 Sep 2022
gscatter takes a minimum of 3 input arguments. You're passing in only 2. What is your group identification array?
You can use masking to get the values in some rectangle.
x = Y(:, 1);
y = Y(:, 2);
indexesInBox = (x > xmin) & (x <= xmax) & (y >= ymin) & (y <= ymax); % Logical vector.
% Extract points in the box.
xDataInBox = x(indexesInBox);
yDataInBox = y(indexesInBox);
See drawing rectangle demo, attached.
  3 commentaires
Image Analyst
Image Analyst le 13 Sep 2022
You have no clusters (yet). This is just a set of (x,y) data. You have no clusters or groups identified even though you think you can see them. For the data you showed, I highly recommend dbscan
A demo is attached.
Okan DÜZYEL
Okan DÜZYEL le 14 Sep 2022
It is very helpful for me. Thanks a lot :)

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by