Карта тестовых данных с использованием sklearn TSNE - PullRequest
0 голосов
/ 21 декабря 2018

Есть ли способ извлечь процедуру отображения в sklearn.manifold.TSNE в python, чтобы можно было отобразить новые данные в уменьшенное размерное пространство?

Важно, что я имею в виду, что нет необходимости переучивать новые данные, какНу вот.

Например, скажем, вы обучили карту TSNE следующим образом:

import numpy as np
from sklearn.manifold import TSNE
X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
X_embedded = TSNE(n_components=2).fit_transform(X)

Как видно из документации: https://scikit -learn.org / stable / modules / generate / sklearn.manifold.TSNE.html

Можете ли вы извлечь преобразование, чтобы вы могли отобразить новые данные в одно и то же пространство:

Y = np.array([[0, 0.8, 0.8], [0.1, 0, 1], [1.2, 0.2, 1], [1, 1.1, 1]])

Любая помощь по этому вопросу будет принята с благодарностью.!

Ответы [ 2 ]

0 голосов
/ 22 декабря 2018

Параметрический t-SNE имеет возможность применить к данным испытаний, но это не доступно в Sklearn. Справочный номер .

Установив это, мы упоминаем, что это реализовано в другом месте здесь

0 голосов
/ 21 декабря 2018

tSNE - это нелинейное непараметрическое вложение.

Таким образом, нет способа «закрытой формы» обновить его новыми точками.Еще хуже: добавление новых точек может потребовать перемещения существующих точек.

Из-за этого применение tSNE к новым данным потребует существенных изменений в методе, больше не будет исходным tSNE.

...