首页 > 其他分享 >已知两个128维向量,向量格式为list,计算两个向量的余弦相似性

已知两个128维向量,向量格式为list,计算两个向量的余弦相似性

时间:2023-08-15 09:11:16浏览次数:43  
标签:list 余弦 np vector norm 128 array 向量

计算两个向量的余弦相似度可以使用以下公式:

余弦相似度 = (向量A · 向量B) / (||向量A|| * ||向量B||)

其中,向量A · 向量B 表示向量A和向量B的点积(内积),||向量A|| 和 ||向量B|| 表示向量A和向量B的欧几里德范数(模)。

下面是一个示例代码,展示如何计算两个128维向量的余弦相似度:

import numpy as np

# 假设你有两个128维向量
vector_a = [0.1, 0.2, ..., 0.5]  # 替换为实际的向量数值
vector_b = [0.3, 0.5, ..., 0.7]  # 替换为实际的向量数值

# 将向量转换为NumPy数组
array_a = np.array(vector_a)
array_b = np.array(vector_b)

# 计算余弦相似度
dot_product = np.dot(array_a, array_b)
norm_a = np.linalg.norm(array_a)
norm_b = np.linalg.norm(array_b)
cosine_similarity = dot_product / (norm_a * norm_b)

print("余弦相似度:", cosine_similarity)

在这个示例中,我们首先将向量转换为NumPy数组,然后使用NumPy提供的函数计算点积和欧几里德范数,最后计算余弦相似度。请确保将 vector_a 和 vector_b 替换为实际的128维向量数据。

标签:list,余弦,np,vector,norm,128,array,向量
From: https://www.cnblogs.com/chentiao/p/17630396.html

相关文章

  • Oracle启动监听报错:The listener supports no services或出现 unknown状态解决
    1、查看$ORACLE_HOME/network/admin/listener.ora文件中的host是否正确,能不能ping通2、查看$ORACLE_HOME/network/admin/tnsnames.ora文件中的host是否与listener.ora中的一致3、查看/etc/hosts文件中的127.0.0.1是不是localhost,listener.ora中host跟这里的是否一样4、登录数......
  • Leetcode 206. 反转链表(Reverse linked list)
    题目链接给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]提示:链表中节点的数目范围是[0,5000]-5000<=Node.val<=5000思路迭代法:创建两个指针,分别指向当前节......
  • 第七章 测试向量的仿真
    1仿真的基础知识1.1仿真环境TestBench产生测试激励将测试激励施加在待测逻辑上分析待测逻辑结果待测逻辑     1.2仿真算法基于时间的仿真处理连续的时间,效率较低基于事件的仿真处理电路状态发生变化的情况基于周期的仿真处理时钟的边沿不可......
  • Android -----listView的属性大全
    <?xmlversion="1.0"encoding="utf-8"?>02 <ListViewxmlns:android="http://schemas.android.com/apk/res/android"03 android:id="@+id/listview"04 android:layout_width="fill_parent&quo......
  • list 容器(链表)
    1.list基本概念链表(list)是一种物理存储单元上的非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的;将数据进行链式存储。  是一个双向循环链表;链表由一系列结点组成;结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点的指针域;优......
  • .net中如何证明List<int>是线程非安全的
      我们可以通过以下代码来验证List<int>为何是线程非安全的,执行以下代码,然后查看输出结果。  staticvoidMain(){vartoCount=100;#regionlist线程非安全varlist=newList<int>();//并行添加元素Parallel......
  • 锐龙r7 6800u和酷睿i7 1280p差距 r76800u和i71280p对比
    aMD锐龙76800U处理器,采用全新的Zen3+架构,6nm制程工艺,8大核16线程,最大加速时钟频率可达4.7GHz,三级缓存16MB。锐龙76800U处理器核显为AMDRadeon680M显卡,RDNA2架构,12显示核心,2200MHz显示频率,相较于前代显示性能提升约2倍选r76800u还是i71280p这些点很重要......
  • 1280. 学生们参加各科测试的次数
    1280.学生们参加各科测试的次数2023年8月14日12:56:381280.学生们参加各科测试的次数简单SQLSchemaPandasSchema学生表:Students+---------------+---------+|ColumnName|Type|+---------------+---------+|student_id|int||student_name......
  • 【刷题笔记】21. Merge Two Sorted Lists
    题目Mergetwosortedlinkedlistsandreturnitasanewlist.Thenewlistshouldbemadebysplicingtogetherthenodesofthefirsttwolists.Example:Input:1->2->4,1->3->4Output:1->1->2->3->4->4题目大意合并2个有序链表解题思路按照......
  • python实战练习:sorted函数排序后返回一个新列表,所以不用再套一层list函数进行转化了
        使用集合set去重后,如果想要返回结果为列表形式,不用在外层套list函数了,因为sorted排完序后会返回一个新列表。names=input().split("")print(sorted(set(names)))#不需要再套一层list函数了print(sorted(list(set(names)))) ......