可视化词向量-TSNE

可视化词向量的好处是可以验证训练的词向量的效果,常采用TSNE方法可视化。

t-分布领域嵌入算法,它只用于已标注数据时才真正有意义,可以明确显示出输入的聚类状况。

主要想法是将高维分布点的距离用条件概率来表示相似性,同时低维分布的点也是这样表示。只要二者的条件概率非常接近(用相对熵来训练,所以需要label),那就说明高维分布的点已经映射到低维分布上了。

 

难点:

1.高维距离较近的点,比较方便聚在一起,但是高维距离较远的点,却比较难在低维拉开距离。

2.训练时间较长,占用内存大。

from sklearn.manifold import TSNE
import numpy as np
import matplotlib.pyplot as plt
import random

#因为词向量文件比较大,全部可视化就什么都看不见了,所以随机抽取一些词可视化
words = list(model.wv.vocab)
random.shuffle(words)

vector = model[words]
tsne = TSNE(n_components=2,init='pca',verbose=1)
embedd = tsne.fit_transform(vector)

#可视化
plt.figure(figsize=(14,10))
plt.scatter(embedd[:300,0], embedd[:300,1])

for i in range(300):
    x = embedd[i][0]
    y = embedd[i][1]
    plt.text(x, y, words[i])
plt.show()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值