word2vecで計算済みのモデル(MODEL.model)を呼び出して、t-sneとpcaで次元圧縮を行い、2次元に図示する。
ポイント:
t-sneはsklearn.manifordで呼び出し、pcaはsklearn.decompositionで呼び出す。
【t-sneのコード】
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
from gensim.models import word2vec
#モデルの読み出し
model = word2vec.Word2Vec.load('MODEL.model')
#x軸の決定
X = model[model.wv.vocab]
#次元圧縮の定義
tsne = TSNE(n_components=2)
#次元圧縮後のx軸の決定
X_tsne = tsne.fit_transform(X[:1000,:])
#図の作成
plt.scatter(X_tsne[:, 0], X_tsne[:, 1])
plt.show()
【pcaのコード】
#ライブラリの読み込み
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
from gensim.models import word2vec
#モデルの読み出し
model = word2vec.Word2Vec.load('MODEL.model')
#x軸の決定
X = model[model.wv.vocab]
#2次元圧縮の定義
pca = PCA(n_components=2)
#次元圧縮後のx軸の決定
X_PCA = pca.fit_transform(X[:1000,:])
#図の作成
plt.scatter(X_PCA[:, 0], X_PCA[:, 1])
plt.show()
参考リンク
0 件のコメント:
コメントを投稿