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

Posted zstar-_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘任务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)

欧氏距离

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

以上是关于数据挖掘任务1:距离计算的主要内容,如果未能解决你的问题,请参考以下文章

空间数据:计算点与最大点值的距离并绘图

计算大型数据集的地理点之间的距离

CSU 1503: 点到圆弧的距离(计算几何)

Java案例:根据速度计算刹车的安全距离

两坐标直线距离

两坐标直线距离