Python中的Minkowski距离
Minkowski距离是一个度量,并且在范数向量空间中,结果是Minkowski不等式。Minkowski距离用于向量的距离相似度。
scipy.spatial.distance.minkowski
>>> from scipy.spatial import distance >>> distance.minkowski([1, 0, 0], [0, 1, 0], 1) 2.0 >>> distance.minkowski([1, 0, 0], [0, 1, 0], 2) 1.4142135623730951 >>> distance.minkowski([1, 0, 0], [0, 1, 0], 3) 1.2599210498948732 >>> distance.minkowski([1, 1, 0], [0, 1, 0], 1) 1.0 >>> distance.minkowski([1, 1, 0], [0, 1, 0], 2) 1.0 >>> distance.minkowski([1, 1, 0], [0, 1, 0], 3) 1.0
范例程式码
from math import *
from decimal import Decimal
def my_p_root(value, root):
my_root_value = 1 / float(root)
return round (Decimal(value) **
Decimal(my_root_value), 3)
def my_minkowski_distance(x, y, p_value):
return (my_p_root(sum(pow(abs(a-b), p_value)
for a, b in zip(x, y)), p_value))
# Driver Code
vector1 = [0, 2, 3, 4]
vector2 = [2, 4, 3, 7]
my_position = 5
print("The Distance is::",my_minkowski_distance(vector1, vector2, my_position))输出结果
The Distance is:: 3.144
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短