0
点赞
收藏
分享

微信扫一扫

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


题目

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

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

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

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

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

创建对象

a = (22, 1, 42, 10)
b = (20, 0, 36, 8)

欧氏距离

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

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

曼哈顿距离

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

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

def manhattan(x, y):
return sum(np.abs(x[i] - y[i]) for i in range(len(x)))

manhattan(a, b)

11

闵可夫斯基距离

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

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

上确界距离

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

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

Supremum(a, b)

6


举报

相关推荐

0 条评论