Визуализация T-SNE в списке векторов слов - PullRequest
0 голосов
/ 17 января 2019

У меня есть список из ~ 20 тыс. Слов-векторов ('tuple_vectors'), без меток, каждый из которых выглядит следующим образом

[-2.84658718e+00 -7.74899840e-01 -2.24296474e+00 -8.69364500e-01
  3.90927410e+00 -2.65316987e+00 -9.71897244e-01 -2.40408254e+00
  1.16272974e+00 -2.61649752e+00 -2.87350488e+00 -1.06603658e+00
  2.93374014e+00  1.07194626e+00 -1.86619771e+00  1.88549474e-01
 -1.31901133e+00  3.83382154e+00 -3.46174908e+00 ...

Существует ли быстрый и краткий способ визуализации с использованием t-sne?

Я пробовал со следующим

from sklearn.manifold import TSNE

n_sne = 21060


tsne = TSNE(n_components=2, verbose=1, perplexity=40, n_iter=300)
tsne_results = tsne.fit_transform(tuple_vectors)
plt(tsne_results)

1 Ответ

0 голосов
/ 17 января 2019

Если вы сначала векторизуете свой текст, я предлагаю использовать библиотеку yellowbrick. Поскольку TSNE очень дорогой, TSNEVisualizer в yellowbrick применяет более простую декомпозицию заранее (SVD с 50 компонентами по умолчанию), затем выполняет встраивание t-SNE. Затем визуализатор строит график рассеяния, который можно раскрасить по кластерам или классам. Вот простой пример использования tf-idfvectorizer:

from yellowbrick.text import TSNEVisualizer
from sklearn.feature_extraction.text import TfidfVectorizer

# vectorize the text
tfidf  = TfidfVectorizer()
tuple_vectors = tfidf.fit_transform(sample_text)

# Create the visualizer and draw the vectors
tsne = TSNEVisualizer()
tsne.fit(tuple_vectors)
tsne.poof()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...