如何在 gensim 创建的 word2vec 上运行 tsne?

2023-11-25

我想可视化从 gensim 库创建的 word2vec。我尝试了 sklearn 但似乎我需要安装开发人员版本才能获得它。我尝试安装开发人员版本,但这在我的机器上不起作用。是否可以修改此代码以可视化 word2vec 模型?

tsne_python


您不需要 scikit-learn 的开发人员版本 - 只需安装 scikit-learn通常的方式通过pip or conda.

要访问由 word2vec 创建的词向量,只需使用词词典作为模型的索引:

X = model[model.wv.vocab]

以下是一个简单但完整的代码示例,它加载一些新闻组数据,应用非常基本的数据准备(清理和分解句子),训练 word2vec 模型,使用 t-SNE 减少维度,并可视化输出。

from gensim.models.word2vec import Word2Vec
from sklearn.manifold import TSNE
from sklearn.datasets import fetch_20newsgroups
import re
import matplotlib.pyplot as plt

# download example data ( may take a while)
train = fetch_20newsgroups()

def clean(text):
    """Remove posting header, split by sentences and words, keep only letters"""
    lines = re.split('[?!.:]\s', re.sub('^.*Lines: \d+', '', re.sub('\n', ' ', text)))
    return [re.sub('[^a-zA-Z]', ' ', line).lower().split() for line in lines]

sentences = [line for text in train.data for line in clean(text)]

model = Word2Vec(sentences, workers=4, size=100, min_count=50, window=10, sample=1e-3)

print (model.wv.most_similar('memory'))

X = model.wv[model.wv.vocab]

tsne = TSNE(n_components=2)
X_tsne = tsne.fit_transform(X)

plt.scatter(X_tsne[:, 0], X_tsne[:, 1])
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 gensim 创建的 word2vec 上运行 tsne? 的相关文章

随机推荐

  • 如何将依赖项注入动态加载的程序集

    我有一个管理器类 它通过反射加载单独程序集中包含的各种插件模块 该模块用于与外界通信 WebAPI 各种其他网络协议 public class Manager public ILogger Logger Modules need to ac
  • 服务器端仅接受 FileField 中的某种文件类型

    我该如何限制FileField服务器端以一种优雅的方式只接受某种类型的文件 视频 音频 pdf 等 一种非常简单的方法是使用自定义验证器 在您的应用程序中validators py def validate file extension v
  • 通过Android Studio更改应用程序包名称

    我知道这个问题在 SO 中被问过好几次 我已经检查了下面发布的答案 但对我不起作用 解决方案1 解决方案2 目前 我的应用程序的包名称是 com example test 我想把它改成 com example test test1 所以 我
  • 基于内容的水平居中 UICollectionView

    我有一个水平 UICollectionView 工作正常 但我想在不需要滚动时将单元格居中 IE if所有单元格都能够适合视图宽度并且用户不需要滚动then将单元格居中 if所有单元格都无法适合视图宽度并且用户需要滚动then不要将单元格居
  • 语句前的感叹号 (!) 有何作用? [复制]

    这个问题在这里已经有答案了 我试图通过在笔记本中输入以下内容来在 Jupyter 笔记本中安装深色主题 pip install jupyterthemes jt t chesterish 第一个命令有效 但第二个命令出现一些错误 然后我写了
  • Bash for 带有空格的循环

    我想做这样的事情 COMMANDS ls df du hs Devel for i in COMMANDS do echo i done 结果将是 ls df du hs Devel 但我找不到空格的正确语法 COMMANDS ls df
  • EclipseLink/Maven 存储库去了哪里? (再次)

    是的 我知道 主题之前被问过 但存储库又移动了 有人看过吗 我将非常感激 A 快速搜索显示一长串镜像 其中大多数返回 404 但它们的缓存条目仍然可见 目前 因此 这些文件似乎确实已从源头删除 而且是最近才删除的 以下是一些仍具有文件的镜像
  • iOS:是否可以同时从多个麦克风录音

    所有最新的 iPhone 都有 2 个以上麦克风 是否可以同时从所有麦克风进行录音 如果可能的话 最好的 iOS 音频库是什么 AudioKit EzAudio AudioUnits CoreAudio AudioKit 和 EzAudio
  • eclipse ini 配置

    实际上我和我的朋友正在尝试学习和使用 eclipse 3 4 我们在工作时遇到一些堆内存问题 我的朋友建议增加 eclipse ide 的内存分配 因为他有 4GB RAM 并且他想分配足够的堆 分配合适的烫发大小 并启用并行垃圾收集到这个
  • 是否可以向 ELB 后面的所有实例发送广播消息?

    我想将更新发送到 ELB 后面的所有实例 我更喜欢发送更新而不是从实例端轮询 是否可以向 ELB 发送一条消息 该消息将广播到所有实例 不直接 不 一种编程解决方法是查询 ELB API 以发现运行状况良好的实例的身份 然后查询 EC2 A
  • SpVoice 和 SpeechSynthesizer 之间有什么区别

    在 C 中使用语音 API 或的这两种方法有什么区别SAPI using SpeechLib SpVoice speech new SpVoice speech Speak text SpeechVoiceSpeakFlags SVSFla
  • Mysql查询中的除法

    我有 2 个不同的查询将返回值 1502 00 和 6 SELECT replace CURRENT VALUE curVal FROM form attributes values WHERE TEST ID 2 AND ATTRIBUT
  • 获取数据:image/png;base64,{{image}} net::ERR_INVALID_URL

    我想使用 Angular js 转换从服务器获取的图像数据 用于 ionic framework 我使用了以下代码 http post link token token reservationCode reservationCode suc
  • 每当在 wpf 中滚动任何一个 ScrollViewer 时,两个 ScrollViewer 就会同步滚动

    我已经浏览过该线程 将两个垂直滚动条相互绑定 它几乎帮助实现了目标 但仍然缺少一些东西 左右或上下移动滚动条可以在我的两个滚动查看器中提供预期的滚动行为 但是当我们尝试使用 单击滚动查看器中这些滚动条末端的箭头按钮进行滚动时 只有一个滚动查
  • Python监控串口(RS-232)握手信号

    我需要监控串口信号 RI DSR CD CTS 的状态 使用 串行 库进行循环和轮询 例如使用函数 getRI 的 CPU 强度太大 并且响应时间不可接受 有没有用python的解决方案 在 Linux 上 可以通过阻塞系统调用 TIOCM
  • 如何在单个语句中定义多个变量

    在Python中 我可以在一行中用一个数组定义两个变量 gt gt gt a b 1 2 gt gt gt a 1 gt gt gt b 2 我如何在 Java 中做同样的事情 我在 PCT 类中有几个变量 其类型是最终的 有没有一种方法可
  • UpdateModel 前缀 - ASP.NET MVC

    我遇到麻烦了TryUpdateModel 我的表单字段以前缀命名 但我使用 作为分隔符 而不是默认的点
  • Kotlin 1.2.10 和 Java 9 对于自动模块有相反的规则吗?

    我有一个使用 Kotlin Gradle 插件的 Gradle 项目 我想构建一个 Java 9 模块 所以我的目录结构如下所示 src main java module info java src main kotlin Foo kt B
  • 设置隐藏导航栏,具体取决于视图控制器的显示方式

    我有一个选项卡栏 其中一个选项卡中有一个导航控制器 目前 导航控制器的根视图没有显示导航栏 并且通过以下方式很好地动画到子视图中 void viewDidLoad self navigationController setNavigatio
  • 如何在 gensim 创建的 word2vec 上运行 tsne?

    我想可视化从 gensim 库创建的 word2vec 我尝试了 sklearn 但似乎我需要安装开发人员版本才能获得它 我尝试安装开发人员版本 但这在我的机器上不起作用 是否可以修改此代码以可视化 word2vec 模型 tsne pyt