在 Python 中使用 Scipy Hierarchy Clustering 进行文本聚类

2023-12-01

我有一个文本语料库,其中包含 1000 多篇文章,每篇文章都在单独的行中。我正在尝试使用 python 中的 Scipy 进行层次聚类来生成相关文章的集群。 这是我用来进行聚类的代码

# Agglomerative Clustering
import matplotlib.pyplot as plt
import scipy.cluster.hierarchy as hac
tree = hac.linkage(X.toarray(), method="complete",metric="euclidean")
plt.clf()
hac.dendrogram(tree)
plt.show() 

and I got this plot dendrogram

然后我用 fcluster() 砍掉了第三层的树

from scipy.cluster.hierarchy import fcluster
clustering = fcluster(tree,3,'maxclust')
print(clustering)

我得到了这个输出: [2 2 2 ..., 2 2 2]

我的问题是如何找到每个集群中最常见的 10 个单词,以便为每个集群建议主题?


您可以执行以下操作:

  1. 调整你的结果(你的clustering变量)与您的输入(1000 多篇文章)。
  2. 使用 pandas 库,您可以使用groupby function以簇 # 作为其键。
  3. 每组(使用get_group function),填写一个defaultdict每个整数 你遇到的词。
  4. 现在,您可以按降序对单词计数词典进行排序,并获得所需的最常见单词数量。

祝您所做的事情好运,如果这是您正在寻找的,请接受我的答案。

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

在 Python 中使用 Scipy Hierarchy Clustering 进行文本聚类 的相关文章

  • 从Python中的对象列表中提取属性列表

    我有一个uniformpython 中的对象列表 class myClass object def init self attr self attr attr self other None objs myClass i for i in
  • 获得熊猫按群体连续几周的最长连续记录

    目前我正在处理不同主题的每周数据 但可能会有一些没有数据的长连续 所以 我想做的就是保留每个连续几周的最长连续id 我的数据如下所示 id week 1 8 1 15 1 60 1 61 1 62 2 10 2 11 2 12 2 13 2
  • del 在 Python 中什么时候有用?

    我实在想不出为什么 Python 需要del关键字 大多数语言似乎没有类似的关键字 例如 我们可以分配一个变量 而不是删除一个变量None到它 当从字典中删除时 del可以添加方法 有理由保留吗del在Python中 还是Python前垃圾
  • Python 解码 JSON 中的嵌套 JSON

    我正在处理一个 API 不幸的是它返回了格式错误 或 奇怪的格式 而是 感谢 fjarri JSON 但从积极的一面来看 我认为这可能是我学习一些有关递归以及JSON 这是我用来记录锻炼的应用程序 我正在尝试制作备份脚本 我可以很好地收到
  • ResultSet 对象没有属性“find_all”

    当我抓取一个网页时 我总是遇到一个问题 AttributeError ResultSet 对象没有属性 find 您可能将项目列表视为单个项目 当您打算调用 find 时 您是否调用了 find all 谁能告诉我如何解决这个问题 我的代码
  • 为什么这个“[::-1]”在Python中返回一个反向列表? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 切片表示法的良好入门指南 https stackoverflow com questions 509211 good primer for python slice notation P
  • Tastypie:GET 的身份验证和 POST 的匿名

    我使用 Django Tastypie 来管理我的用户集合 是否可以允许匿名用户在 API 中发布 在某个端点创建新用户时 并限制经过身份验证的用户仅获取自己的用户 而不是所有用户 感谢您的帮助 我发现最简单的事情就是对我正在使用的身份验证
  • ibapi nextValidId 并不总是被调用

    我构建了一个小型 ibapi python 应用程序来运行一些策略 同时注意保持与 tws 的连接 如果 tws 处于非活动状态 python 应用程序将启动并等待 并在 tws 启动时连接到 tws 但这是我的问题 nextValidId
  • AMLS 实验运行停留在“正在运行”状态

    我运行了 Azure 机器学习服务实验 并使用 Jupyter Notebook 记录了神经网络损失 日志记录工作正常 神经网络训练也按预期完成 但实验一直停留在运行状态 关闭计算资源不会关闭实验运行 我无法从实验面板取消它 此外 运行没有
  • 对训练和测试数据帧使用相同的标签编码器

    我有 2 个不同的 csv 其中包含训练数据和测试数据 我从这些 train features df 和 test features df 创建了两个不同的数据帧 请注意 测试和训练数据有多个分类列 因此我需要对它们应用 labelEnco
  • 如何使用 BeautifulSoup 排除表中的某些行?

    我已经从表格中获得了所需的数据 但不想要各个玩家统计数据之间的缩写 Rk Pos Name 等 如何在保留所需数据的同时排除这些数据 包含缩写的行被归类为 thead 但我不知道如何使用该信息来跳过它 我知道玩家的数据都被压缩在一起 但现在
  • 当从 python 使用 TSQL(SQL Server 上的 mssql)时,如何自动生成 SQLAlchemy 的 ORM 代码?

    SQLAlchemy 依赖于我构建这样的 ORM 类 from sqlalchemy import Column DateTime String Integer ForeignKey func from sqlalchemy orm imp
  • 如何在Python中按天对时间序列数据求和? resample.sum() 没有效果

    我是Python新手 如何根据日期求和数据并绘制结果 我有一个 Series 对象 其数据如下 2017 11 03 07 30 00 NaN 2017 11 03 09 18 00 NaN 2017 11 03 10 00 00 NaN
  • PySpark:根据与另一列中的字符串匹配的字典值创建新列

    我有一个数据框 A 如下所示 ID SOME CODE TITLE 1 024df3 Large garden in New York New York 2 0ffw34 Small house in dark Detroit Michig
  • Django 和 REST API 服务基于计算的请求

    我在 Django 中编写了一个机器学习应用程序 以便用户可以在表单中指定一些参数并训练模型 模型训练完成后 我想满足以下请求 curl http localhost 8000 model input XYZ 我希望 Django 返回给定
  • pandas 数据帧和聚合中的行明智排序

    我在 pandas dataframe df 中有一个表 col1 col2 count 12 15 3 13 17 5 1 36 4 15 12 7 36 1 4 等等 我想要的是将 12 和 15 和 15 和 12 等计算值视为相同
  • 如何在 python setup.py 中 chmod 文件?

    我使用 setup py 创建了一个 python 包安装 我希望它复制文件夹 为临时创建的 did 中的数据文件 问题是我必须使用 sudo 权限调用 setup py 因为它写入 usr local 因此 当我的数据文件复制到 did
  • MySQL:进行基本搜索

    我的数据库中有一个名称表 我希望对其进行模糊搜索 例如我的数据库包含 Name ID John Smith 1 Edward Smith 2 Gabriel Gray 3 Paul Roberts 4 目前 当我通过 python 搜索数据
  • 如何在(最好是纯)Python 中解码 QR 码图像?

    TL DR 我需要一种使用 最好是纯 Python 从图像文件中解码 QR 码的方法 我有一个带有 QR 码的 jpg 文件 我想使用 Python 对其进行解码 我发现有几个库声称可以做到这一点 PyQRCode 网站在这里 http p
  • 命名空间与常规包

    命名空间 Python 包之间有什么区别 没有 init py 和一个常规的Python包 有一个 init py 特别是当 init py普通包裹是空的吗 我很好奇 因为最近我忘记了 init py在我制作的包中 我从未注意到任何问题 事

随机推荐

  • 使用 R 中的截止值对多列进行排序

    Given n列 我希望第一列按降序排列 直到达到截止值 然后对第二列进行排序 依此类推 解释起来有点棘手 所以这里有一个最简单情况的示例 有两列 df lt structure list x c 0 92 0 9 0 9 0 88 0 8
  • 如何从秘密短语(助记符)SOLANA 生成密钥对

    我正在使用 Solana 和幻影钱包 我有一个带有公钥的钱包 我有它的由 12 个单词组成的秘密短语 当我从我使用的秘密短语生成密钥对时 const getKeyPair mnemomic gt const seed bip39 mnemo
  • React原生加载css和js Webview

    我想使用 React Native 在 Web 视图中加载自定义 html 它适用于简单的 html 但我不知道如何将 javascript 从 js 文件加载到 Web 视图 看起来什么也没有发生 这是我的网络视图 var html h1
  • 如何在SQL中显示两个给定日期之间的所有日期

    使用 SQL Server 2000 如果开始日期是06 23 2008结束日期是06 30 2008 然后我需要查询的输出为 06 23 2008 06 24 2008 06 25 2008 06 30 2008 我创建了一个名为 Int
  • 跨域xmlhttp

    我正在编写这个 javascript 它将用于其他几个域 这些域调用 php 脚本 仅在我的域上 来返回数组 我正在使用 xmlhttp 在我的域上测试时它工作得很好 但是一旦从单独的域放置或调用 javascript 它就会完全崩溃 有人
  • FileDescriptor什么时候关闭?

    我的应用程序需要执行以下操作 Open a FileInputStream 并获得底层FileDescriptor via getFd 创建新的FileInputStream基于上述的对象FileDescriptor 到目前为止 我只需要一
  • Rails:创建父记录(如果不存在),同时创建子记录

    以下任何最佳实践 我有制造商模型 has many 库存 在我的新库存表单中 我想要一个映射到Manufacturer name的字段 以便当一个 从应用程序提交新的库存 searches for a manufacturer with t
  • 暂停 NSTimer

    我有一个UIView with a UITableView and a UIImageView在里面 这UITableView占据了上半部分UIView The UIImageView占据下半部分UIView 我正在使用一个NSTimer更
  • 将 ComboBox 添加到特定行的 datagridview

    我需要将下拉列表显示到多行中的某一特定行 我的 dataGridView 有 2 列 参数和值 我在代码中动态添加 3 行 对于所有 3 行 参数文本是固定的 用户无法修改 对于第一行 参数文本是 prm1 值文本将从下拉列表中选择 其他
  • Android:如何检测滚动何时结束

    我正在使用 GestureDetector SimpleOnGestureListener 的 onScroll 方法在画布上滚动大位图 当滚动结束时 我想重绘位图 以防用户想要进一步滚动 离开位图的边缘 但我看不到如何检测滚动何时结束 用
  • 如何从 Visual Studio Code UI 执行 dotty 代码

    我正在尝试使用Visual Studio Code运行点代码 我开始使用 IDEsbt launchIDE根据指示这一页 我还安装了Dotty Language Server and Code Runner扩展 Dotty 安装使用brew
  • 从字符串中提取正则表达式结果并将其写入变量

    我正在尝试编写一个 shell 脚本 该脚本在指定为参数 1 的文件中搜索正则表达式 并将找到的子模式写入我可以使用的变量中 假设我的脚本名为 dosth sh 并且我有一个文件 plot gp 其中包含以下行 set output tes
  • 将 Firebase 中的重复对象加载到 ListView 中

    当我向列表视图添加新消息时 会添加我拥有的消息和新消息 因此它会两次放置相同的信息 我想使用 Firebase 在列表视图中加载最后一条消息 我在 create 中添加了以下函数 firebase new Firebase FIREBASE
  • 如何在 C++ 中使用 new 声明二维数组?

    如何使用 new 声明二维数组 就像 对于 正常 数组我会 int ary new int Size but int ary new int sizeY sizeX a 无法工作 编译 b 无法完成 int ary sizeY sizeX
  • Android:从首选项中选择主题颜色

    我希望通过首选项设置我的应用程序导航抽屉的颜色按下项目 但我似乎找不到方法来做到这一点 我在我的首选项中创建了一个列表 其中使用十六进制颜色代码作为值 但我不知道如何在我的 java 类中使用这些值 帮助 尝试这个方法 首先在colors
  • 使用 onChange 检测注释更改

    Google 表格是否可以检测您何时使用 onChange 编辑笔记或插入新笔记 function onChange e var ss SpreadsheetApp getActiveSheet var s SpreadsheetApp g
  • 如何使用 cli 获取当前分支的 Github 最新提交 url

    如何使用cli获取Github最新提交url 示例输出 https github com my user my repo commit 0904dcc315ec80d024440dda5208ebf1d7edbcb3 我发现的最接近的是gi
  • MySQL仅在条件为真时插入

    我有几个插入语句 我只想在它们为真时执行 这是我的例子 START TRANSACTION INSERT INTO fields field name control type id needs approval VALUES Array
  • 如何在Android中的类/活动之间传递值数据?

    例如我有activity1 activity2 activity3 最后是valueAllActivity 如何将数据从活动 1 活动 2 活动 3 传递到 gt valueAllActivity 将每个活动中的 INT 值传递给 valu
  • 在 Python 中使用 Scipy Hierarchy Clustering 进行文本聚类

    我有一个文本语料库 其中包含 1000 多篇文章 每篇文章都在单独的行中 我正在尝试使用 python 中的 Scipy 进行层次聚类来生成相关文章的集群 这是我用来进行聚类的代码 Agglomerative Clustering impo