学堂 学堂 学堂公众号手机端

【数据挖掘】任务1:距离计算

lewis 1年前 (2024-03-25) 阅读数 3 #技术


题目

给定两个被元组(22,1,42,10)和(20,0,36,8)表示的对象

(a)计算这两个对象之间的欧几里得距离;


(b)计算这两个对象之间的曼哈顿距离;

(c)使用q=3,计算这两个对象之间的闵可夫斯基距离

(d)计算着两个对象之间的上确界距离

创建对象
a = (22, 1, 42, 10)
b = (20, 0, 36, 8)
欧氏距离

import numpy as np


def euclidean(x, y):
return np.sqrt(sum((x[i] - y[i]) ** 2 for i in range(len(x))))
euclidean(a, b)
6.708203932499369
曼哈顿距离

def manhattan(x, y):
return sum(np.abs(x[i] - y[i]) for i in range(len(x)))
manhattan(a, b)
11
闵可夫斯基距离

def minkowski(x, y, p):
return sum(np.abs(x[i] - y[i]) ** p for i in range(len(x))) ** (1 / p)
minkowski(a, b, 3)
6.153449493663682
上确界距离

def Supremum(x, y):
return np.abs(max(x) - max(y))
Supremum(a, b)
6


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门