将每个向量除自身的模,得到n个模长为1的向量,将他们相加后除个数,再求模,最终结果在0-1之间,表征了这一堆向量的聚集程度
def get_concentration(arr):
std_arr = []
for x in arr:
std_arr.append(x / np.linalg.norm(x))
sum_arr = np.sum(np.array(std_arr), axis=0) / len(std_arr)
return np.linalg.norm(sum_arr)
a = np.array([[1,2,3],[2,4,6],[3,6,9]])
print(get_concentration(a))