Вы правы в том, что одни и те же значения в T-SNE могут быть распределены по разным точкам, причина этого очевидна, если взглянуть на алгоритм, по которому работает T-SNE.
Икс1= [ 0 , 1 ]Икс2= [ 0 , 1 ]
import numpy as np
from sklearn.manifold import TSNE
m = TSNE(n_components=2, random_state=0)
m.fit_transform(np.array([[0,1],[0,1]]))
Вы также заметите, что изменение random_state
фактически изменяет выходные координаты модели. Нет никакой реальной корреляции между фактическими координатами и их результатами. Так как первый шаг TSNE вычисляет условную вероятность.
Иксяxjpj|i=exp(−||xj−xi||22σ2)∑k≠iexp(−||xj−xi||22σ2)pij=pi|j+pj|i2Npijxixj
R2
Таким образом, правда заключается не в том, чтобы смотреть на эти два кластера, а на расстояние между ними, потому что оно передает больше информации, чем сами координаты.
Надеюсь, что это ответил на ваш вопрос :)