私はgensimライブラリから作成したword2vecを視覚化したいと思います。私はsklearnを試みたが、私はそれを得るために開発者のバージョンをインストールする必要があるようだ。私は開発者のバージョンをインストールしようとしましたが、それは私のマシンでは動作しません。このコードを修正してword2vecモデルをビジュアル化することは可能ですか?gensimから作成したword2vecでtsneを実行するには?
3
A
答えて
0
Xが縦に行列Xにnumpy.vstackを使用して、すべての単語の埋め込みをCONCATし、それをfit_transformの代わりに、以下のコードを使用してください。
import numpy as np
from sklearn.manifold import TSNE
X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
model = TSNE(n_components=2, random_state=0)
np.set_printoptions(suppress=True)
model.fit_transform(X)
fit_transformの出力には、形状vocab_size x 2があり、視覚化することができます。 ピップまたはconda経由だけinstall scikit-learn通常の方法を -
vocab = sorted(word2vec_model.get_vocab()) #not sure the exact api
emb_tuple = tuple([word2vec_model[v] for v in vocab])
X = numpy.vstack(emb_tuple)
13
あなたは学ぶscikitの開発者向けバージョンを必要としません。単にモデルへのインデックスとして単語辞書を使用word2vecによって作成された単語ベクトルにアクセスするには
:後
X = model[model.wv.vocab]
は、いくつかのニュースグループのデータをロードする単純だが、完全なコード例である(非常に基本的なデータの準備を適用します文章を整理し、解読する)、word2vecモデルを訓練し、t-SNEで次元を縮小し、出力を視覚化する。
from gensim.models.word2vec import Word2Vec
from sklearn.manifold import TSNE
from sklearn.datasets import fetch_20newsgroups
import re
import matplotlib.pyplot as plt
# download example data (may take a while)
train = fetch_20newsgroups()
def clean(text):
"""Remove posting header, split by sentences and words, keep only letters"""
lines = re.split('[?!.:]\s', re.sub('^.*Lines: \d+', '', re.sub('\n', ' ', text)))
return [re.sub('[^a-zA-Z]', ' ', line).lower().split() for line in lines]
sentences = [line for text in train.data for line in clean(text)]
model = Word2Vec(sentences, workers=4, size=100, min_count=50, window=10, sample=1e-3)
print (model.most_similar('memory'))
X = model[model.wv.vocab]
tsne = TSNE(n_components=2)
X_tsne = tsne.fit_transform(X)
plt.scatter(X_tsne[:, 0], X_tsne[:, 1])
plt.show()
関連する問題
- 1. Gensim Word2Vecモデル:カットディメンション
- 2. Gensim word2vecオンライントレーニング
- 3. word2vec(gensim)のscore_cbow_pair
- 4. Gensim word2vecの出力は
- 5. gensimから否定的なWord2Vec類似性を解釈する
- 6. gensim Word2vecモデルをバイナリ形式で保存します.bin with save_word2vec_format
- 7. python3のGensim word2vecがありません。
- 8. gensim word2vec in/out vectorへのアクセス
- 9. あらかじめ定義された辞書と単語インデックスデータのGensim word2vec
- 10. word2vecでfit_predictを実行する
- 11. gensim word2vec:語彙の単語数を確認する
- 12. マッピングのあるgensim Word2Vec単語の名前変更
- 13. gensim word2vecで出力埋め込み(出力ベクトル)にアクセスするにはどうすればよいですか?
- 14. onclickを追加したり、実行時にデータベースから実行時に作成
- 15. Gensim Word2VecがCコンパイラを使用しているかどうかはどうすればわかりますか?
- 16. red langからWindows実行ファイル(.exe)を作成するには?
- 17. nsisから実行可能なコンソールファイルを作成するには
- 18. pip installl tsneが動作しない
- 19. PythonでWord2Vecを実行する際のエラー
- 20. コーパス作成時にgensimで辞書サイズを大きくするには?
- 21. Kerasでword2vecを実装
- 22. ファイルから実行時にクラスを動的に作成する
- 23. 実行スレッド私は、WebサイトからJSONデータをもたらすために、スレッドを作成したアンドロイド
- 24. gensim 0.11.1でDoc2Vecからドキュメントベクターを取得するには?
- 25. 実際の実行からモックを作成するツール
- 26. Eclipseでプロジェクトから実行可能ファイルを作成する
- 27. どのようにアラビア語/ペルシャ語の言語のgensimと列車word2vec
- 28. gensimから重み行列を取得する2Vec
- 29. 実行されたリスナーでjpanelを作成しますか?
- 30. 別のコントローラから作成アクションを実行しますか?