MODEL100, MODEL200, MODEL300を読み込んで、次元圧縮を行い、FIGURE100.jpg, FIGURE200jpg, FIGURE300.jpgを保存する。
#ライブラリの読み込み
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
from gensim.models import word2vec
#for loopの設定
data = ['100', '200', '300']
for item in data:
#モデルの読み出し(以下はfor loopの中なのでインデントが必要。{}の中にloopの中身が入る。)
model = word2vec.Word2Vec.load('MODEL{}.model'.format(item))
#x軸の決定
X = model[model.wv.vocab]
#次元圧縮(次元数2、perplexity:次元圧縮の重要なパラメータ)
tsne = TSNE(n_components=2, perplexity=30)
#次元圧縮後のx軸の決定
X_tsne = tsne.fit_transform(X[:1000,:])
#保存先の図の準備(図を作る前に保存先の図を作っておく。)
fig = plt.figure()
#図の作成(plt.scatterで書式を指定し、plt.show()で表示させる)
plt.scatter(X_tsne[:, 0], X_tsne[:, 1])
plt.show()
#図の保存。{}のところに上記と同じitemが入る
fig.savefig("FIGURE{}.jpg".format(item))
0 件のコメント:
コメントを投稿