Python中的余弦相似度2025年1月5日 | 阅读 4 分钟 在接下来的教程中,我们将讨论如何计算两个非零向量之间的余弦相似度。一个单维度的 NumPy 数组称为向量。在文本分析中,余弦相似度是一种评估文档之间相似程度的常用度量。要计算余弦相似度,请使用以下公式。 其中向量 A 和 B 是
让我们来看一些演示 Python 中余弦相似度的例子。 示例 1在下面的示例中,我们计算两个向量(一维 NumPy 数组)之间的余弦相似度。在这里,我们也可以利用 Python 列表来定义一个向量。 程序说明 Python 的余弦相似度函数用于比较两个数组 A 和 B。为了计算向量范数,它导入了 numpy、适当的库以及 numpy 的 norm 函数。通过取数组的点积及其相应的范数来计算定义的数组 A 和 B 之间的余弦相似度。最终的余弦相似度值在控制台上显示了两个向量之间的相似度。 输出 A: [2 1 2 3 2 9] B: [3 4 2 4 5 5] Cosine Similarity: 0.8188504723485274 示例 2在下面的示例中,我们计算一个向量(一维 NumPy 数组)和一个由三个向量组成的批次(二维 NumPy 数组)之间的余弦相似度。 程序说明 这个 Python 程序计算矩阵 A 和向量 B 之间的余弦相似度。为了计算向量范数,它导入了 numpy、适当的库以及 numpy 的 norm 函数。定义了向量 B 和矩阵 A。该程序通过计算矩阵 A 的每一行和向量 B 之间的余弦相似度,为每一行赋予一个相似度分数。通过此过程获得的余弦相似度值将显示为一个矩阵,表示向量 B 和 A 的行之间的相似程度。 输出 请注意,B 是一个单一向量,而 A 包含三个向量。上述输出中的余弦相似度数组由三个元素组成。A 的第一个向量(第一行)与第二个向量(B)之间的余弦相似度由第一个元素表示。A 的第二个向量(第二行)与第二个向量(B)之间的余弦相似度由第二个元素表示,同样,第三个元素也是如此。 A: [ [ 2 1 2] [ 3 2 9] [ -1 2 -3] ] B: [ 3 4 2 ] Cosine Similarity: [ 0.86657824 0.67035541 -0.04962917 ] 示例 3在下面的示例中,我们计算两个二维数组之间的余弦相似度。在这种情况下,每个数组包含三个向量。这里,元素乘积的 m 用于计算点积。 程序说明 这个 Python 应用程序确定了两个矩阵 A 和 B 之间的余弦相似度。为了计算向量范数,它导入了 numpy、适当的库以及 numpy 的 norm 函数。定义了矩阵 A 和 B。该程序通过计算两个矩阵中对应行之间的余弦相似度,为每一对行赋予一个相似度分数。通过此过程获得的余弦相似度值将显示为一个矩阵,表示 A 和 B 的行之间的相似程度。 输出 A 和 B 的第一行之间的相似度构成了余弦相似度数组的第一个成员。同样,A 和 B 的第二行之间的余弦相似度形成了第二个元素。第三个元素也是如此。 A: [ [ 1 2 2] [ 3 2 2] [ -2 1 -3] ] B: [ [ 4 2 4 ] [ 2 -2 5 ] [ 3 4 -4] ] Cosine Similarity: [ 0.86657824 0.67035541 -0.04962917] |
? setuptools (easy_install) 包附带了一个 Easy Install Python 模块,该模块允许您自动下载、构建、安装和管理 Python 包。它于 2004 年被包含在 setuptools 中,但已不再受支持。自动安装依赖项的能力以及使用需求说明符来……
阅读 2 分钟
Python 作为一种灵活且流行的语言,提供了一系列可能适用于各个分支和学科的函数和技术。它提供了简单的语法和易于理解的功能,这使得 Python 成为一种灵活的语言。使用 Python,我们可以扩展包...
阅读 4 分钟
Python 的 Matplotlib 库是创建生动且信息丰富的可视化数据探索和分析的不可或缺的工具。在这个绘图功能库中,有一个关键命令:matplotlib.pyplot.show(),它是揭示代码中隐藏的视觉启示的关键入口。理解...的重要性
阅读 6 分钟
? 简介:在本教程中,我们将学习 Python List Index Out of Range 以及如何修复 IndexError。当使用列表和 for 循环时,通常会出现“Index out of range”错误。您知道,在 Python 中,当您尝试使用...
阅读 3 分钟
在本教程中,我们将学习二分图以及检查给定图是否为二分图的方法。二分图是一种其顶点可以分成两个独立集合的图。设这两个集合为 S1 和 S2。这两个...
14 分钟阅读
什么是高斯分布或正态分布?当我们绘制数据集(例如直方图)时显示的形状称为其分布。钟形曲线,也称为高斯分布或正态分布,是连续值的形式,它...
阅读 4 分钟
Python Imaging Library (PIL) 库可以增强您的 Python 解释器的图像处理功能。它可以打开、编辑和保存多种图像文件格式。Pillow 是 PIL 的友好分支,通过引入新功能并更新使其与时俱进,从而保持了该库的更新和活力...
阅读 3 分钟
亲和力传播 通过在数据点之间传递消息直至收敛,亲和力传播形成簇。偏好参数,它决定使用多少个样本(或原型),以及阻尼因子,它阻尼消息的责任和可用性以避免更新这些消息时的数值振荡,……
7 分钟阅读
当我们必须将树数据结构存储在文件中时,会使用序列化过程。之后我们可以根据需要恢复此树。唯一的条件是树的结构应该保持不变。反序列化是完整的...
7 分钟阅读
简介 Python中的ops库旨在简化事件驱动程序的创建和控制,尤其是运行在Juju环境中的charm。它使开发人员无需为观察事件、响应环境变化以及与编写其他应用程序或服务进行通信的困难而烦恼……
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India