Embedding Projector 是一款embedding 可视化化的工具,通过特定的降维算法如PCA,T-sne将原始数据降维到三维空间,我只需要导入我们的数据就可以可视化,非常方便,当然,你也可以使用sklearn中的tsne和PCA+matplotlib的方式来做embedding可视化,只不过有点麻烦。
embedding projector 可以很方便的导入我们需要的数据,他需要数据格式是tsv格式,tsv和csv的主要区别就是分隔符,csv的分隔符是,(逗号),tsv的分隔符是\t,那么怎样将一个array保存成tsv格式呢,我们可以借助pandas这个工具。代码如下:
import numpy as np
import pandas as pd
b=np.random.normal(0,1,size=(100,20))
b=pd.DataFrame(b)
with open("route.tsv", 'w') as write_tsv:
write_tsv.write(b.to_csv(sep='\t', index=False,header=False))
header=False,主要是去除列的名字,然后我们就可以进入Embedding projector这个网页了http://projector.tensorflow.org/,
点击load就可以导入我们自己的数据了,
第一个choose file就是导入我们刚才保存的那个embedding tsv文件,第二个文件可有可无,主要是用来做标记的。 这样我们就可以得到我们自定义的embedding三维可视图了
当然,我们也可以选择特定的参数,如降维算法的选择,学习率的设置等