• [技术干货] AI基石之向量数据库的技术基础
    向量的概念在数学中,向量(也称为欧几里得向量、几何向量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。向量数据库向量数据库是专门用来存储和查询向量的数据库,其存储的向量来自于对文本、语音、图像、视频等的向量化。与传统数据库相比,向量数据库可以处理更多非结构化数据(比如图像和音频)。在机器学习和深度学习中,数据通常以向量形式表示。python里的向量问题:常规python的array不支持多维、不支持数值运算。arr1=[1,2,3] arr2=[4,5,6] ​ 现在要求让arr1和arr2的各个相同的索引项,进行累加操作? 循环? #enumerate() for i,value in enumerate(arr1): arr3=arr1[i]+arr2[i] print(arr3) #可以定义数组,将结果之 添加到数组; #arr1 arr2都是数组的地址 + 作用就是链接 arr12=arr1+arr2 print(arr12)NumpyNumerical Python,首先需要安装numpy,pip install numpynumpy同质多维数组ndarray,有数组的特征,还可以进行数值运算。ndarray的属性属性解释ndim维度,1维,2维,3维shape每个维度上的大小,n行m列的矩阵,shape(n,m)size数组的总个数,等于shape的元素乘积dtype数组中元素类型ndarray的方法方法解释array/arange/linspace/logspace创造一组数random.normal随机 正态分布的数random.randint随机 均匀分布的数mean均值var方差ndarray的初始化#利用array/arange创建ndarray的数组 import numpy as np #array()里面的参数 是元组 数组 列表 a=np.array([[1,5,0],[4,5,6]]) b=np.array(([1,5,0],[4,5,6])) ​ #查看二者的类型看下是否变化了 print(type(a)) print(type(b)) #测试以前的类型 print(type([[1,5,0],[4,5,6]])) print(type(([1,5,0],[4,5,6]))) ​ print(a) print(b)<class 'numpy.ndarray'> <class 'numpy.ndarray'> <class 'list'> <class 'tuple'> [[1 5 0] [4 5 6]] [[1 5 0] [4 5 6]]#arange()创建数据,和range()类似 import numpy as np a=np.arange(10) print(a) #arange(start,end,step增长量) b=np.arange(1,2,0.1) print(b) ​ #linspace(),指定 等差数列 c=np.linspace(0,1,10) print(c)[0 1 2 3 4 5 6 7 8 9] [1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9] [0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556 0.66666667 0.77777778 0.88888889 1. ]查看ndarray数组的相关信息#查看创建数组的相关信息 import numpy as np #numpy的array方法 a=np.array([[1,5],[4,5,7],3],dtype=object) ​ print(type(a)) print(a) ​ a2=np.array(([1,2,3,5,7],[2,4,6,8,10])) print(type(a2)) print(a2) ​ #查看a a2数组中每个元素的类型 print(a.dtype) print(a2.dtype) ​ #查看数组的行列 print(a.shape) print(a2.shape) ​ #查看a的行数 a2的行数 print(a.shape[0]) print(a2.shape[0]) #列 # print(a.shape[1]) print(a2.shape[1]) ​ print('查看数组的维度') #查看数组的维度 print(a.ndim) print(a2.ndim) ​ #查看数组的转置 转置(Transpose) 是一种数组操作,用于交换数组的行和列(即调整数组的维度顺序)。在数学和编程中,转置通常用于矩阵运算、数据重塑等场景。 print(a.T) #一维数组 的转置 没有变化是 其本身 print(a2.T)<class 'numpy.ndarray'> [list([1, 5]) list([4, 5, 7]) 3] <class 'numpy.ndarray'> [[ 1 2 3 5 7] [ 2 4 6 8 10]] object int32 (3,) (2, 5) 3 2 5 查看数组的维度 1 2 [list([1, 5]) list([4, 5, 7]) 3] [[ 1 2] [ 2 4] [ 3 6] [ 5 8] [ 7 10]]
总条数:39 到第 页
上滑加载中