से उत्पन्न word2vec को विज़ुअलाइज़ करें मैंने gensim का उपयोग करके अपने स्वयं के कॉर्पस पर एक doc2vec और इसी शब्द 2vec को प्रशिक्षित किया है। मैं शब्दों के साथ टी-एसएन का उपयोग कर word2vec को विज़ुअलाइज़ करना चाहता हूं। जैसा कि, आकृति में प्रत्येक बिंदु के साथ "शब्द" भी है।gensim
मैं एक ऐसी ही सवाल यहाँ को देखा:
जी के रूप में आयात gensim आयात gensim.models
from sklearn.manifold import TSNE
import re
import matplotlib.pyplot as plt
modelPath="/Users/tarun/Desktop/PE/doc2vec/model3_100_newCorpus60_1min_6window_100trainEpoch.bin"
model = g.Doc2Vec.load(modelPath)
X = model[model.wv.vocab]
print len(X)
print X[0]
tsne = TSNE(n_components=2)
X_tsne = tsne.fit_transform(X[:1000,:])
plt.scatter(X_tsne[:, 0], X_tsne[:, 1])
plt.show()
इस के साथ एक आंकड़ा देता है: t-sne on word2vec
यह बाद, मैं इस कोड है डॉट्स लेकिन कोई शब्द नहीं। मुझे नहीं पता कि कौन सा बिंदु किस शब्द का प्रतिनिधि है। मैं डॉट के साथ शब्द कैसे प्रदर्शित कर सकता हूं?
महान काम! मैं इस कोड सरलीकरण का सुझाव देता हूं: 'df = pd.DataFrame (X2, vocab, ['x', 'y']) 'और फिर' शब्द के लिए, df.iterrows में pos(): plt.annotate (शब्द, pos) '। यानी शब्दों को इंडेक्स के रूप में उपयोग करें। आप 'concat' और अन्य लाइनों से छुटकारा पा सकते हैं। –
ने आपके दो बदलाव किए: 'vocab' डीएफ इंडेक्स और' iterrows 'सरलीकरण के रूप में। धन्यवाद, @ रिकार्डोक्रूज़! –