1sudo apt-get install liblapack-dev
2sudo apt-get install gfortran
3sudo apt-get install python-pandas
4sudo pip install --upgrade gensim
5sudo pip install jieba
6sudo pip install theano (0.7)

根据给定词生成word2vec词向量

# -*- coding: utf-8 -*-
"""
Created on Thu Jun 15 16:24:01 2017@author: Jiabao Wang
@description: Generate word2vec model based on given words
"""import gensim.models.word2vec as w2v  def train_model(input_file_name, model_file_name):#模型训练,生成词向量sentences = w2v.LineSentence(input_file_name)  model = w2v.Word2Vec(sentences, size=20, window=5, min_count=5, workers=4)   model.save(model_file_name)input_file_name = 'wPred_word.txt' # Input Words
model_file_name = 'wPred_model.txt' # Output Model
train_model(input_file_name, model_file_name)# Compute and evaluate similarity and probability
model = w2v.Word2Vec.load(model_file_name)
print model.similarity('eval','@')
for k in model.similar_by_word('eval'):print str(k[1])+"\t# "+k[0].decode('utf-8')

可视化词向量

# -*- coding: utf-8 -*-
"""
# This is the visualization for the embedding word vectors:
# Input: the words for visualization, the words labels, and the word2vec model
# Output: the visualization of the given wordsCreated on Thu Jun 22 01:55:37 2017@author: Jiabao Wang
"""import numpy as np
from gensim.models.word2vec import Word2Vec
import matplotlib.pyplot as plt
#import sklearn.manifold.TSNE as tsnemodelpath = 'pub_data/wPred_model.txt' # 词向量模型
model = Word2Vec.load(modelpath)
sentenceFilePath = 'pub_data/wordList.txt' # 可视化词的词典
labelFilePath = 'pub_data/wordName.txt' # 可视化词对应显示名称visualizeVecs = []
with open(sentenceFilePath, 'r') as f:for line in f:word = line.strip()vec = model[word]visualizeVecs.append(vec)visualizeWords = []
with open(labelFilePath, 'r') as f:for line in f:word = line.strip()visualizeWords.append(word)visualizeVecs = np.array(visualizeVecs).astype(np.float64)
#Y = tsne(visualizeVecs, 2, 200, 20.0);
## Plot.scatter(Y[:,0], Y[:,1], 20,labels);
## ChineseFont1 = FontProperties(‘SimHei‘)
#for i in xrange(len(visualizeWords)):
#    # if i<len(visualizeWords)/2:
#    #     color=‘green‘
#    # else:
#    #     color=‘red‘
#    color = 'red'
#    plt.text(Y[i, 0], Y[i, 1], visualizeWords[i],bbox=dict(facecolor=color, alpha=0.1))
#plt.xlim((np.min(Y[:, 0]), np.max(Y[:, 0])))
#plt.ylim((np.min(Y[:, 1]), np.max(Y[:, 1])))
#plt.show()# vis_norm = np.sqrt(np.sum(temp**2, axis=1, keepdims=True))
# temp = temp / vis_norm
temp = (visualizeVecs - np.mean(visualizeVecs, axis=0))
covariance = 1.0 / visualizeVecs.shape[0] * temp.T.dot(temp)
U, S, V = np.linalg.svd(covariance)
coord = temp.dot(U[:, 0:2])
for i in xrange(len(visualizeWords)):print iprint coord[i, 0]print coord[i, 1]color = 'red'plt.text(coord[i, 0], coord[i, 1], visualizeWords[i], bbox=dict(facecolor=color, alpha=0.1),fontsize=12)  # fontproperties = ChineseFont1
plt.xlim((np.min(coord[:, 0])-5, np.max(coord[:, 0])+5))
plt.ylim((np.min(coord[:, 1])-5, np.max(coord[:, 1])+5))
plt.savefig('pub_data/distrubution.png', format='png',dpi = 1000,bbox_inches='tight')
plt.show()

可视化效果如下:


图中间部分的词为SQL攻击的关键词,相对其他词更加聚集。

CSIC2010学习Word2vec表示及可视化相关推荐

  1. 用gensim学习word2vec

    20211224 输入为分词列表 import gensim # Train Word2Vec model model = gensim.models.Word2Vec(all_data_test[' ...

  2. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  3. 【AI白身境】深度学习中的数据可视化​​​​​​​

    文章首发于微信公众号<有三AI> [AI白身境]深度学习中的数据可视化 今天是新专栏<AI白身境>的第八篇,所谓白身,就是什么都不会,还没有进入角色. 上一节我们已经讲述了如何 ...

  4. 对pca降维后的手写体数字图片数据分类_【AI白身境】深度学习中的数据可视化...

    今天是新专栏<AI白身境>的第八篇,所谓白身,就是什么都不会,还没有进入角色. 上一节我们已经讲述了如何用爬虫爬取数据,那爬取完数据之后就应该是进行处理了,一个很常用的手段是数据可视化. ...

  5. 学习笔记之数据可视化(二)—— 页面布局(下)

    续上一章 2.7 地图区域(.map) 2.7.1 实现步骤: 2.8 用户统计模块 2.8.1 布局: 2.8.2 柱状图 2.9 订单模块 2.9.1 订单区域布局 2.9.2 订单区域(orde ...

  6. 学习笔记之数据可视化(二)——页面布局(中)

    续上一章 2.6 监控区域布局 2.6.1 布局结构解析: 2.6.2 样式描述: 2.6.3 HTML结构及CSS样式代码 2.6.3 ### 监控区域-效果 2.6.7 点位区域(point) 2 ...

  7. 学习笔记之数据可视化(二)——页面布局(上)

    ~续上一章 2. 项目页面布局 2.1 基础布局 2.1.1 PC端屏幕宽度适配设置 2.1.2 主体容器viewport背景图片 2.1.3 HTML结构 2.1.4 css样式代码 2.2 边框图 ...

  8. 学习笔记之数据可视化(一)——项目适配方案

    目录 最终效果展示 1. 数据可视化适配方案 1.1 项目需求 1.2 PC端适配方案 1.3 使用到的技术 2. 数据可视化项目开发 项目准备 1.1 文件准备 1.2 引入js和css文件 1.3 ...

  9. Python学习笔记:数据可视化(一)

    python相关 基础概念 数据:离散的,客观事实的数字表示 信息:处理后的数据,为实际问题提供答案 - 为数据提供一种关系或一个关联后,数据就成了信息,这种关联通过提供数据背景来完成 知识: 是数据 ...

最新文章

  1. 个人项目【 完成总结】
  2. 信息论——密码学笔记(七)
  3. StoryBoard解惑
  4. 终极JPA查询和技巧列表–第2部分
  5. 一行代码能做什么? 看到最后一个我终于忍不住...
  6. 0=iiLen 在C++中
  7. 编程修养 from匠人的百宝箱
  8. dxf转换html5,移动端CAD版本转换如何输出DXF格式-迅捷CAD转换器
  9. 7-6 jmu-python-随机生成密码 (10 分)习题解答
  10. ·VBOX虚拟机安装
  11. 人像姿势,从细节做起!
  12. 关于类的静态的模板函数的使用方式
  13. 你会copying了吗?(Effective C++ 12 复制对象时勿忘其每一个成分)
  14. 位图和矢量图谁的色彩更丰富_更少的更多色彩
  15. 蜗牛移动被联通叫停放号,疑为受到大量投诉
  16. rails-redis hgetall与hGetall
  17. pytorch学习之图片处理
  18. 2022-2027年中国消防机器人行业市场调研及未来发展趋势预测报告
  19. matlab步进电机半步控制器,步进电机驱动模式:整步、半步、细分
  20. 磁盘、分区及Linux文件系统 [Disk, Partition, Linux File System]

热门文章

  1. 人工智能发展史论文_有史以来15篇最佳AI研究论文
  2. VBA小功能集合-判断列内是否有重复值
  3. php excel模板导出
  4. Go 语言快速开发入门(基础语法详解,第一节)
  5. 计算机机房必须用七氟丙烷灭火器吗,采用七氟丙烷灭火系统对房间有哪些要求...
  6. 将mongodb 中的_id 转化为时间戳
  7. 一小时人生服务器维护,一小时人生诅咒是干嘛的
  8. 直接用TXT文档写HTML编码出现中文乱码问题
  9. 阿里云短信验证码签名模板创建方法
  10. 中国联通短信如何 对接