我在计算大型数据集中的数据元素的平均距离时遇到问题,想使用Mapreduce将其并行化。目的是计算样本之间的距离,将它们相加并乘以(2 / n(n-1)),其中n是数据集中的样本总数。
我已经实现了它,但是我想对其进行并行化
def euclidean_distance(array1,array2): return sum((x-y)** 2 for zip中的x,y(array1,array2))** 0.5
data = [[1,2,3],[6,4,5],[8,9,10],[6,7,8]]
list_distance = []
导入itertools
在itertools.combinations(data,2)中用于x,y的: list_distance.append(euclidean_distance(x,y))
print(list_distance)
总和= sum(list_distance)
mean_distance =(2.0 /(len(数据)*(len(数据)-1)))*求和
print(“总距离为” + str(求和)) print(“平均距离为” + str(mean_distance))