2020年11月16日月曜日

Pythonによるword2vec計算モデルを対象としたt-sneとpcaのコードの比較

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() 

参考リンク

sklearn.manifold.TSNE

sklearn.decomposition.PCA 

 



 

0 件のコメント:

コメントを投稿