对网站二次开发的认识企业宣传片策划团队

当前位置: 首页 > news >正文

对网站二次开发的认识,企业宣传片策划团队,hao123网址大全浏览器设为主页,遵义市在哪里做网站目录 欧氏距离 欧氏距离应用场景#xff1a; 聚类分析#xff1a;在聚类算法中(K-means)中#xff0c;可以使用欧式距离来衡量数据点之间的相似性或距离#xff0c;以便于将他们划分到不用的簇中。特征匹配#xff1a;在计算机视觉和图像处理中#xff0c;可以使用欧氏…目录 欧氏距离 欧氏距离应用场景 聚类分析在聚类算法中(K-means)中可以使用欧式距离来衡量数据点之间的相似性或距离以便于将他们划分到不用的簇中。特征匹配在计算机视觉和图像处理中可以使用欧氏距离来比较两个特征向量之间的相似性如图像检索图像分类人脸识别等任务。数据降维在主成分分析(PCA)和线性判别分析(LDA)等降维技术中可以使用欧氏距离来衡量高维数据空间中的变量之间的相似性从而进行有效的特征选择和降维。推荐系统在协同过滤推荐算法中可以使用欧氏距离来衡量用户之间的兴趣相似性从而根据用户的历史行为向其推荐相似的物品或内容。数据挖掘在聚类分类和异常检测层数据挖掘任务中可以使用欧氏距离来度量数据点之间的差异和相似性以便进行模式识别和异常检测。 大多数情况欧式距离都是比较适合的。但是对于某些特殊类型的 欧氏距离是最常见的距离度量方法它定义为两个点之间的直线距离。对于两个n维向量X和Y,欧氏距离可以表示为 d ( x , y ) ( ( x 1 − y 1 ) 2 ( x 2 − y 2 ) 2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ( x n − y n ) 2 ) d(x,y)\sqrt((x_1-y_1)^2(x_2-y_2)^2······(x_n-y_n)^2) d(x,y)( ​(x1​−y1​)2(x2​−y2​)2⋅⋅⋅⋅⋅⋅(xn​−yn​)2) 代码实现 import numpy as np from scipy.spatial.distance import cdist# 示例数据 data np.array([[1, 2, 3], [4, 5, 6]])# 计算欧氏距离矩阵 distance_matrix cdist(data, data, metriceuclidean)print(欧氏距离矩阵:\n, distance_matrix) 这里使用了scipy包中的的cdist。 也可以进行自定义 import numpy as npdef euclidean_distance(x,y):x np.array(x)y np.array(y)distance np.sqrt(np.sum(np.square(x-y))return distance data1 [1,2,3] data2 [4,5,6] distance euclidean_distance(data1,data2)曼哈顿距离 曼哈顿距离主要应用场景 路径规划和导航在特定的城市区域或地图上可以使用曼哈顿距离来估计两点之间的实际行驶距离或路程从而确定最短路径或导航方案。 电子商务在购物网站或电子商务平台上可以使用曼哈顿距离来衡量产品或服务之间的相似性从而向用户推荐相关的商品或服务。 计算机视觉在图像处理和计算机视觉领域中可以使用曼哈顿距离来比较两个图像之间的相似性或距离例如在文本检测和OCR光学字符识别中使用。 数据挖掘在聚类、分类和异常检测等数据挖掘任务中可以使用曼哈顿距离来度量数据点之间的差异和相似性以便进行模式识别和异常检测。 传感器网络在传感器网络中可以使用曼哈顿距离来估计物理位置或传感器之间的距离从而实现位置估计和目标跟踪等任务。 曼哈顿距离是在城市街区中的距离度量方法它表示两点之间沿着坐标轴的总距离。 曼哈顿距离采用各个坐标点之间的绝对值之和它的距离定义为 d ( x , y ) ∣ x 1 − y 1 ∣ ∣ x 2 − y 2 ∣ ⋅ ⋅ ⋅ ∣ x n − y n ∣ d(x,y)|x_1-y_1||x_2-y_2|···|x_n-y_n| d(x,y)∣x1​−y1​∣∣x2​−y2​∣⋅⋅⋅∣xn​−yn​∣ 自定义曼哈顿距离
import numpy as npdef manhattan_distance(x,y):x np.array(x)y np.array(y)distance np.sum(np.abs(x-y))return distance data1 [1,2,3] data2 [4,5,6] distance manhattan_distance(data1,data2)使用cdist库来进行实现 distance.cdist(x,x,cityblock)闵可夫斯基距离 闵可夫斯基距离是欧氏距离和曼哈顿距离的一般化形式可以表示为$ d ( x , y ) ( ∣ x 1 − y 1 ∣ p ∣ x 2 − y 2 ∣ p … ∣ x n − y n ∣ p ) ( 1 / p ) d(x, y) (|x1 - y1|^p |x2 - y2|^p … |xn - yn|^p)^{(1/p)} d(x,y)(∣x1−y1∣p∣x2−y2∣p…∣xn−yn∣p)(1/p)其中p为正实数。 import numpy as npdef minkowski_distance(x,y):x np.array(x)y np.array(y)distance np.power(np.sum(np,power(np.abs(x-y), p)),1/p)return distancedata1 [1,2,3] data2 [4,5,6] p 2 # 欧氏距离’ distanceminkowski_distance(data1,data2,p)使用cdist库来实现 from scipy.spatial.distance import cdist# 示例数据 data1 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] data2 [[9, 8, 7], [6, 5, 4], [3, 2, 1]] p 2 # 欧氏距离# 使用cdist计算闵可夫斯基距离 distance_matrix cdist(data1, data2, metricminkowski, pp)print(距离矩阵:) print(distance_matrix) 切比雪夫距离 切比雪夫距离是在棋盘格上的距离度量方法它表示两点之间坐标数值差的最大值。 切比雪夫距离是指两个点之间各个坐标数值差绝对值的最大值定义为 d ( x , y ) m a x i ( ∣ x i − y i ∣ ) d(x,y)max_i(|x_i-y_i|) d(x,y)maxi​(∣xi​−yi​∣) import numpy as np def chebyshev_distance(x,y):x np.array(x)y np.array(y)distance np.max(np.abs(x-y))return distance data1 [1,2,3] data2 [4,5,6] distance chebyshev_distance(data1,data2)使用cdist库来实现 distance.cdist(x,x,chebyshev)余弦距离 余弦距离通常用于计算文本和稀疏数据之间的相似度。余弦相似度度量的是两个向量之间的角度关系而不是其具体数值大小。余弦相似度定义为两个向量的内积除以它们的模长乘积。 余弦距离是通过测量两个向量夹角来进行度量两个向量之间的相似性余弦距离定义为 d ( x , y ) x ∗ y ∑ x i 2 ∗ ∑ y i 2 d(x,y)\frac{xy}{\sqrt{ \sum x_i^2}\sqrt{\sum y_i^2}} d(x,y)∑xi2​ ​∗∑yi2​ ​x∗y​ import numpy as np def cosine_distance(x, y):x np.array(x)y np.array(y)# 计算向量的内积dot_product np.dot(x, y)# 计算向量的模长norm_x np.linalg.norm(x)norm_y np.linalg.norm(y)# 计算余弦距离distance 1-(dot_product / (norm_x * norm_y))return distancedata1[1,2,3] data2[4,5,6] distance cosine_distance(data1,data2)使用cdist库实现 distance.cdist(x,x,cosine)相关系数距离 相关系数距离主要用于衡量个两个变量之间的相关性或者相似度。它可以用来比较两个向量时间序列或者数据集之间的相似程度如下场景可能会用到 数据分析和统计学相关系数距离可用于评估不同变量之间之间的相关性在数据分析和统计学中我们可以使用相关系数距离来确定两个变量之间的线性关系强弱。机器学习和数据挖掘在特征选择聚类回归和分类等机器学习任务中相关系数距离可以用作相似性度量。例如在聚类算法中可以使用相关系数距离来测量数据点之间的相似程度进而将相似的数据点分组。图像处理和计算机视觉相关系数距离可以用于图像匹配和相似性比较。通过计算连个图像之间的相关系数距离来评估他们之间的相似度用于图像检索目标识别和图形匹配等应用。自然语言处理和文本挖掘在文本分析领域相关数据里可以用于比较文本之间的相似性。通过计算文本之间的相关系数距离可以进行文本聚类文档相似度计算和信息检索等任务。 相关系数距离只能测量线性关系的相似性对于非线性关系的判断不太准确。 定义为 d ( x , y ) ( x − x ˉ ) ∗ ( y − y ˉ ) ∑ x i − X ˉ ∗ ∑ y i − Y ˉ d(x,y)\frac{(x-\bar x)(y-\bar y)}{\sqrt{\sum x_i-\bar X}\sqrt{\sum y_i -\bar Y}} d(x,y)∑xi​−Xˉ ​∗∑yi​−Yˉ ​(x−xˉ)∗(y−yˉ​)​ import math# 示例数据 vector1 [1, 2, 3] vector2 [4, 5, 6]# 计算平均值 mean1 sum(vector1) / len(vector1) mean2 sum(vector2) / len(vector2)# 计算标准差 std1 math.sqrt(sum((x - mean1) ** 2 for x in vector1) / len(vector1)) std2 math.sqrt(sum((x - mean2) ** 2 for x in vector2) / len(vector2))# 计算协方差 covariance sum((x - mean1) * (y - mean2) for x, y in zip(vector1, vector2)) / len(vector1)# 计算相关系数距离 correlation_distance 1 - (covariance / (std1 * std2))print(相关系数距离:, correlation_distance) 使用库函数来进行实现

二维以上因为cdist中的参数是向量

distance.cdist(x,x,correlation)

或者使用numpy中的corrcoef库

data1 [1,2,3] data2 [4,5,6]

计算相关系数

correlation_coefficient np.corrcoef(data1, data2)[0,1]

计算相关系数距离

correlation_distance 1-correlation_coefficient马氏距离 马氏距离表示数据的协方差距离是一种计算两个未知样本集的相似度的有效方法距离定义为 d ( x , y ) ( X − Y ) T ∑ − 1 ( X − Y ) d(x,y)\sqrt{(X-Y)^T\sum ^{-1}(X-Y)} d(x,y)(X−Y)T∑−1​(X−Y) ​ distance.cdist(x,x,mahalanobis)