Я считаю, что то, что вы пытаетесь сделать, невозможно.
t-SNE создает проекцию, которая пытается сохранить попарные расстояния между образцами, которые вы подходите.Таким образом, вы не можете использовать модель t-SNE для прогнозирования проекции новых данных без повторной установки.
С другой стороны, я бы не дал вывод t-SNE в качестве входных данных для классификатора.Главным образом потому, что t-SNE очень нелинейный и несколько случайный, и вы можете получить очень разные выходы в зависимости от разных прогонов и разных значений недоумения.
См. это объяснение t-SNE.
Однако, если вы действительно собираетесь использовать t-SNE для этой цели, вам нужно будет подогнать модель t-SNE по всем данным, и после ее установки вы проведете поезд и проведете тестовый сплит.
from sklearn.manifold import TSNE
size_train = X_train.shape[0]
X = np.vstack((X_train,X_test))
X_tsne = TSNE(n_components=2, random_state=0).fit_transform( X )
X_train_tsne = X_tsne[0:size_train,:]
X_test_tsne = X_tsne[size_train:,:]